首页 > 代码库 > Spring 注解 @ExceptionHandler

Spring 注解 @ExceptionHandler

Spring 注解学习手札(一) 构建简略Web使用 

Spring 注解学习手札(二) 操控层整理 

Spring 注解学习手札(三) 表单页面处置 

Spring 注解学习手札(四) 持久层分析 

Spring 注解学习手札(五) 事务层事务处置 

Spring 注解学习手札(六) 测验 

Spring 注解学习手札(七) 补遗——@ResponseBody,@RequestBody,@PathVariable 

Spring 注解学习手札(八) 补遗——@ExceptionHandler 




直接上代码: 

Java代码  保藏代码

@Controller  

public class AccessController {  

  

    /** 

     * 反常页面操控 

     *  

     * @param runtimeException 

     * @return 

     * @页面入口地址 http://www.metabase.cn 

     */  

    @ExceptionHandler(RuntimeException.class)  

    public @ResponseBody  

    Map runtimeExceptionHandler(RuntimeException runtimeException) {  

        logger.error(runtimeException.getLocalizedMessage());  

  

        Map model = new TreeMap();  

        model.put("status", false);  

        return model;  

    }  

  

}  



当这个Controller中任何一个办法发生反常,必定会被这个办法阻拦到。然后,输出日志。封装Map并回来,页面上得到status为false。就这么简略。 


或许这个有些有些复杂,来个简略易懂的,上代码: 

Java代码  保藏代码

@Controller  

public class AccessController {  

    /** 

     * 反常页面操控 

     *  

     * @param runtimeException 

     * @return 

     */  

    @ExceptionHandler(RuntimeException.class)  

    public String runtimeExceptionHandler(RuntimeException runtimeException,  

            ModelMap modelMap) {  

        logger.error(runtimeException.getLocalizedMessage());  

  

        modelMap.put("status", IntegralConstant.FAIL_STATUS);  

        return "exception";  

    }  

}