Java异常中toString()和getMessage()区别
作者: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() 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!