zoukankan      html  css  js  c++  java
  • Spring-Boot 全局的异常处理~

    Spring-Boot  全局的异常处理主要使用注解 @ControllerAdvice 来完成~

    如果单使用@ExceptionHandler,只能在当前Controller中处理异常。但当配合@ControllerAdvice一起使用的时候,就可以摆脱那个限制了。

    他会拦截所有使用@Controller注解的类。

    
    
    package com.favorites.comm.exception;
    
    import org.apache.catalina.servlet4preview.http.HttpServletRequest;
    import org.apache.log4j.Logger;
    import org.springframework.web.bind.annotation.ControllerAdvice;
    import org.springframework.web.bind.annotation.ExceptionHandler;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.servlet.ModelAndView;
    
    
    @ControllerAdvice
    public class GlobalExceptionHandler {
    
        protected Logger logger = Logger.getLogger(this.getClass());
    
        public static final String DEFAULT_ERROR_VIEW = "error";
    
        @ExceptionHandler(value = Exception.class)
        @ResponseBody
        public ModelAndView defaultErrorHandler(Exception e, HttpServletRequest request) throws Exception {
            
            // 把异常结果通过日志 记录下来
            logger.info("请求地址:" + request.getRequestURL());
            logger.error("异常信息:",e); 
            
            //如果需要把异常信息展示到页面 请使用addObject()  
            ModelAndView mav = new ModelAndView();
            mav.addObject("url", request.getRequestURL());
            mav.addObject("Exception", e);
            mav.setViewName(DEFAULT_ERROR_VIEW);
            
            return mav;//返回对应的错误页面
        }
    }
     
  • 相关阅读:
    柔性的沟通
    as3简单的文字提示队列
    恢复低版本的FlashPlayer
    AIR切换SDK版本时遇到的问题
    文字闪烁提示
    as3 ISOLIB学习资料整理
    xml文件转二进制文件的AIR
    Photoshop CS5的序列号
    MySQL导出、导出数据
    as3 shake动画
  • 原文地址:https://www.cnblogs.com/zygyun/p/8655399.html
Copyright © 2011-2022 走看看