一 设置全局统一的返回格式
1.1 没有加全局异常处理
1.这里设置一个字符串为空指针异常,然后看看返回给前端的信息。

2.返回结果

3.效果看起来不友好的提示
1.2 添加全局异常处理
1.代码:添加一个全局异常处理类
@ControllerAdvice
public class GlobalExceptionHandler {
//指定出现什么异常执行这个方法
@ExceptionHandler(Exception.class)
@ResponseBody //为了返回数据
public R error(Exception e) {
e.printStackTrace();
return R.error().message("亲,发生错了!!!..");
}
}

3.结果

二 设置指定异常的返回格式
2.1 在全局类设定处理特定异常
这种情况说白了不怎么常用,因为你并不清楚代码存在要报什么异常。
1.代码
//特定异常
@ExceptionHandler(ArithmeticException.class)
@ResponseBody //为了返回数据
public R error(ArithmeticException e) {
e.printStackTrace();
return R.error().message("执行了ArithmeticException异常处理..");
}
2.如图

3.返回格式
三 自定义返回异常的json格式
3.1 自定义异常处理类
1.自定义一个异常处理类

2.注册异常类
//自定义异常
@ExceptionHandler(ZidingyiException.class)
@ResponseBody //为了返回数据
public R error(ZidingyiException e) {
e.printStackTrace();
return R.error().code(e.getCode()).message(e.getMsg());
}

3.捕捉和调用

4.查看结果


![[附源码]计算机毕业设计基于springboot学习互助辅助系统](https://img-blog.csdnimg.cn/86d641360aa14f468d97076d88df02c8.png)















![[附源码]Python计算机毕业设计Django体育器材及场地管理系统](https://img-blog.csdnimg.cn/a2262a36449b4d21bab4d153eb15a4f1.png)

