【Java】--SpringBoot 统一异常处理
package com.example.book.config;
import com.example.book.model.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
//对应的异常类执行对应的方法,进行匹配异常,如果没有匹配到的异常是按深度进行排序然后取第一个异常。
@Slf4j
@ResponseBody
@ControllerAdvice
public class ExceptionAdvice {
//针对没有捕获的异常进行捕获
@ExceptionHandler
public Result handlerException(Exception e) {
// 如果不加打印日志error,错误信息就不会出来
log.error("发生异常,e:",e);
return Result.fail("内部错误");
}
@ExceptionHandler
public Result handlerException(NullPointerException e) {
log.error("发生异常,e:",e);
return Result.fail("发生空指针异常");
}
@ExceptionHandler
public Result handlerException(ArithmeticException e) {
log.error("发生异常,e:",e);
return Result.fail("发生算术异常");
}
}