Java异常中toString()和getMessage()区别

 更新时间:2024年01月15日 15:45:42   作者:Wan8017  
在java异常体系中,要打印异常信息,可以通过:e.getMessage() 、 e.toString() e.printStackTrace() 等方法打印,本文主要介绍了Java异常中toString()和getMessage()区别,具有一定的参考价值,感兴趣的可以了解一下

在java异常体系中,要打印异常信息,可以通过:e.getMessage() 、 e.toString() e.printStackTrace() 等方法打印出 一些 异常信息。已知的是这些方法都可以打印异常信息,但是这些方法打印的异常信息 都不相同,那么问题来啦: 这些方法打印异常信息的区别是?日常开发工作中,该用哪个方法打印异常信息呢?

首先写了两个错误

@Controller
public class DemoController {
    @RequestMapping("/show1")
    public String showInfo(){
        String str = null;
        str.length();
        return "index";
    }

    @RequestMapping("/show2")
    public String showInfo2(){
        int a = 10/0;
        return "index";
    }
}

第一个是空指针异常

使用toString()方法打印报错信息

@ControllerAdvice
public class AjaxGlobalException {
    @ResponseBody
    @ExceptionHandler
    public Map<String,Object> errorHandler(Exception e){
        Map<String, Object> hashMap = new HashMap<>();
        hashMap.put("status",500);
        hashMap.put("msg",e.toString());
        return hashMap;
    }

空指针异常的错误信息是;

如果使用 getMessage()报错信息是null:

所以!!!!!!!!!!输出异常要使用toString() 

因为toString方法获取的是异常类型和异常详细信息

getMessage()只获取异常的详细信息字符串

到此这篇关于Java异常中toString()和getMessage()区别的文章就介绍到这了,更多相关Java toString() getMessage() 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java实现把图片处理到指定大小的操作方法

    Java实现把图片处理到指定大小的操作方法

    项目开发中,经常遇到图片上传功能,发现如果图片比较大时,在查看、预览、下载速度会特别慢,考虑到浪费流量以及文件服务器的存储空间,决定在后端优化处理完再上传,所以本文给大家介绍了使用Java把图片处理到指定大小的操作方法,需要的朋友可以参考下
    2025-03-03
  • Spring MVC返回的json去除根节点名称的方法

    Spring MVC返回的json去除根节点名称的方法

    这篇文章主要介绍了Spring MVC返回的json去除根节点名称的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • 详解java中Reference的实现与相应的执行过程

    详解java中Reference的实现与相应的执行过程

    不知道大家知不知道特殊的reference对象都是被jvm专门处理的,所以这篇文章就相应的工作流程和referencequeue之间的协作进行梳理.有需要的朋友们可以参考借鉴。
    2016-09-09
  • SpringBoot如何配置Controller实现Web请求处理

    SpringBoot如何配置Controller实现Web请求处理

    这篇文章主要介绍了SpringBoot如何配置Controller实现Web请求处理,文中通过图解示例介绍的很详细,具有有一定的参考价值,需要的小伙伴可以参考一下
    2023-05-05
  • Spring Boot中进行 文件上传和 文件下载功能实现

    Spring Boot中进行 文件上传和 文件下载功能实现

    开发Wb应用时,文件上传是很常见的一个需求,浏览器 通过 表单形式 将 文件 以 流的形式传递 给 服务器,服务器再对上传的数据解析处理,下面将通过一个案例讲解使用 SpringBoot 实现 文件上传,感兴趣的朋友一起看看吧
    2024-07-07
  • Java的包装类特性总结

    Java的包装类特性总结

    这篇文章主要介绍Java的包装类的一些特性,包装类的作用,哪些类属于包装类等,文中有详细的代码示例,对我们的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-05-05
  • Spring Boot中的路径变量示例详解

    Spring Boot中的路径变量示例详解

    SpringBoot中PathVariable通过@PathVariable注解实现URL参数与方法参数绑定,支持多参数接收、类型转换、可选参数、默认值及正则约束,是构建RESTful API的核心工具,本文给大家介绍Spring Boot中的路径变量示例,感兴趣的朋友一起看看吧
    2025-07-07
  • SpringBoot3实现MySQL读写分离的完整指南

    SpringBoot3实现MySQL读写分离的完整指南

    在高并发场景下,数据库往往成为系统瓶颈,读写分离通过将写操作定向到主库、读操作分发到从库,显著提升系统读性能和数据可用性,本文给大家介绍了SpringBoot3实现MySQL读写分离的完整指南,需要的朋友可以参考下
    2025-11-11
  • HttpServletRequest的getParameter()的坑及解决

    HttpServletRequest的getParameter()的坑及解决

    这篇文章主要介绍了HttpServletRequest的getParameter()的坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Java导出excel时合并同一列中相同内容的行思路详解

    Java导出excel时合并同一列中相同内容的行思路详解

    这篇文章主要介绍了Java导出excel时合并同一列中相同内容的行,需要的朋友可以参考下
    2018-06-06

最新评论