• SpringBoot 异常处理


    SpringBoot 异常处理

    一、自定义错误页面

      创建 error.html 页面,当发生错误时,将自动跳转到该页面。内部实现类为:BasicErrorController

      适用范围:所有的异常都指向 error.html 页面,不能根据对应的异常跳转到对应的页面。

    二、@ExceptionHandler

      在对应的Controller内,添加对应的错误处理方法,然后跳转到指定的错误页面。

      适用范围:每个Controller内都有对应的错误方法,代码冗余性高。

    三、@ControllerAdvice 全局异常处理器注解

      搭配@ExceptionHandler 使用,可以解决方式二的代码冗余问题。

      

    四、SimpleMappingExceptionResolver   

    @Configuration   //当配置类使用
    public class GlobalException {
    
        @Bean      //返回异常处理bean
        public SimpleMappingExceptionResolver getGlobalException() {
            SimpleMappingExceptionResolver smer = new SimpleMappingExceptionResolver();
            Properties mappings = new Properties();
            mappings.put("异常类型", "视图名称");
            smer.setExceptionMappings(mappings);
            return smer;
        }
        
    }
    View Code

      适用范围:区别于方式三,方式四无法传递异常对象。

    五、HandlerExceptionResolver

      实现 HandlerExceptionResolver,重写 resolveException 方法

    @Configuration
    public class GlobalException extends HandlerExceptionResolverComposite{
    
        @Override
        public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler,
                Exception ex) {
            ModelAndView mv = new ModelAndView();
            //添加异常分支处理
            if(ex instanceof NullPointerException) {
                mv.setViewName("视图名称");
            }
            if(ex instanceof ArithmeticException) {
                mv.setViewName("视图名称");
            }
            mv.addObject("error", ex.toString()); //传递异常对象
            return mv;
        }
        
    }
    View Code

      适用范围:与方式三类似。

  • 相关阅读:
    cocos2dx for xna 基于地图的碰撞检测和信息提示
    cocos2dx for xna实现人物不同方向行走
    coco2dx for wp7之页面跳转特效
    cocos2dx for wp之精灵动作——Actions
    利用webxml来构建wp的天气预报
    cocos2dx for wp 之Box2D游戏是男人就坚持60M(一)
    cocos2dx for wp之TexturePackerGUI工具使用
    cocos2dx for wp 之Box2D的应用
    cocos2dx for xna 地图编辑
    WPF触发器(Trigger、DataTrigger、EventTrigger)
  • 原文地址:https://www.cnblogs.com/chen--biao/p/10134841.html
Copyright © 2020-2023  润新知