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() 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringBoot如何配置Controller实现Web请求处理
这篇文章主要介绍了SpringBoot如何配置Controller实现Web请求处理,文中通过图解示例介绍的很详细,具有有一定的参考价值,需要的小伙伴可以参考一下2023-05-05
HttpServletRequest的getParameter()的坑及解决
这篇文章主要介绍了HttpServletRequest的getParameter()的坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-07-07


最新评论