异常的处理

  1. 全局异常处理
@ControllerAdvice
@Slf4j
public class GlobalExceptionHandler {
//拦截所有异常
@ExceptionHandler(Exception.class)
@ResponseBody
public R error(Exception e){
e.printStackTrace();
return R.error().message("执行了全局的异常处理器");
}
}
  1. 自定义异常处理
    首先创建自定义的异常类:一般情况下包含状态码和异常信息字段
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CustomException extends RuntimeException{
private Integer code;//状态码
private String msg;//信息
}

在异常处理器中添加拦截方法

//自定义异常
@ExceptionHandler(CustomException.class)
@ResponseBody
public R error(CustomException e){
log.error(e.getMsg());
e.printStackTrace();
return R.error().message(e.getMsg()).code(e.getCode());
}
  1. 特殊异常处理:对指定的异常进行拦截
//特殊异常(例如空指针)
@ExceptionHandler(NullPointerException.class)
@ResponseBody
public R error(NullPointerException e){
log.error(e.getMsg());
e.printStackTrace();
return R.error().message(e.getMsg()).code(e.getCode());
}
posted @   风一样的男子、  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示