SpringBoot 3种错误处理方式

方式一:自定义错误控制器,发生错误,将页面跳转至错误页面

@Controller
@RequestMapping("/error")
public class BaseErrorController implements ErrorController {
    private static final Logger Log= LoggerFactory.getLogger(BaseErrorController.class);
    @Override
    public String getErrorPath() {
        Log.info("自定义错误控制器:出现异常了!!!");
        return "error/error";
    }
    @RequestMapping
    public String error(){
        return getErrorPath();
    }
}

方式二:可以在默认的public目录下面创建error/404.html,500html 访问不到路径时,将会跳转至该重写的页面

SpringBoot 3种错误处理方式_第1张图片

方式三:创建控制器通知类

@ControllerAdvice
public class ErrorExceptionController {
    private static final Logger log=  LoggerFactory.getLogger(ErrorExceptionController.class);
    @ExceptionHandler
    @ResponseStatus(HttpStatus.OK)
    public ModelAndView proessException(Exception e){
        ModelAndView m=new ModelAndView();
        m.addObject("info","出现了Exception异常");
        m.setViewName("error");
        return m;
    }
    @ExceptionHandler
    @ResponseStatus(HttpStatus.OK)
    public ModelAndView proessException(RuntimeException e){
        ModelAndView m=new ModelAndView();
        m.addObject("info","出现了RuntimeException异常");
        m.setViewName("error");
        return m;
    }
}

你可能感兴趣的:(SpringBoot,SpringBoot,错误处理)