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

发布时间:2024年01月15日

首先写了两个错误

@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()只获取异常的详细信息字符串

文章来源:https://blog.csdn.net/m0_64107427/article/details/135596537
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。