首页 > 代码库 > @ExceptionHandler

@ExceptionHandler

@Controller  public class AccessController {        /**      * 异常页面控制      *       * @param runtimeException      * @return      */      @ExceptionHandler(RuntimeException.class)      public @ResponseBody      Map<String,Object> runtimeExceptionHandler(RuntimeException runtimeException) {          logger.error(runtimeException.getLocalizedMessage());            Map model = new TreeMap();          model.put("status", false);          return model;      }    }  

当这个Controller中任何一个方法发生异常,一定会被这个方法拦截到。然后,输出日志。封装Map并返回,页面上得到status为false。就这么简单。技术分享 

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

@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";      }  }  

 

@ExceptionHandler