# 博客系统后端开发——异常处理

  1. 对于这样的一段代码
@Controller
public class indexController {
    @GetMapping("/")
    public String index(){
        int i = 9/0;
        return "index";
    }
} 

这是在浏览器直接使用url来访问就可以了跳转到这个页面了。

  1. 首先在项目开始前定义了两个页面,一个是404,一个是500,还有一个index首页。 什么时候会跳转到404呢? 当我们客户端浏览器输错url的话,就会跳转到404页面; 当我们服务端有错误代码的话,比如9/0,就会跳转到500页面。

  2. 这个和上面的区别是什么? 首先不需要 getMapping

@ControllerAdvice
public class ExceptionHandlerController {
    /**
     * 这个参数HttpServletRequest:就是获取url
     * Exception 获取错误的类型
     * @return
     */
    public ModelAndView exceptionHandler(HttpServletRequest request,Exception e){
        ModelAndView mv = new ModelAndView();
        mv.addObject("url",request.getRequestURL());
        mv.addObject("exception",e);
        mv.setViewName("error/error");
        return mv;
    }
}

4.上面的ExceptionHandlerController 会把所有的异常都处理,但是我们如果想要页面报404 怎么解决呢? 其实我直接可以跳转404页面就可以了,但是一般不这样做。 一般的做法是自定义异常类。

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务