【Java】--SpringBoot 统一异常处理

时间:2024-06-07 13:03:13
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("发生算术异常"); } }