SpringBoot學習15:springboot異常處理方式5(通過實現HandlerExceptionResolver類)


修改異常處理方式4中的全局異常處理controller

package com.bjsxt.exception;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.lang.Nullable;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.SimpleMappingExceptionResolver;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Properties;

/**
 * Created by Administrator on 2019/2/14.
 * 全局異常處理類,通過實現 HandlerExceptionResolver類做全局異常處理
 * 優點:相對於方法4可以傳遞異常信息
 */

@Configuration
public class GlobalException implements HandlerExceptionResolver{


    @Override
    public ModelAndView resolveException(HttpServletRequest httpServletRequest,
           HttpServletResponse httpServletResponse, @Nullable Object o, Exception e) {

        ModelAndView mv = new ModelAndView();
        //判斷不同異常類型,做不同視圖跳轉
        if(e instanceof ArithmeticException){
            mv.setViewName("error_arithmetic");
        }
        if(e instanceof NullPointerException){
            mv.setViewName("error_nullPointer");
        }
        mv.addObject("msg", e.toString());
        return mv;
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM