springboot异常处理

package com.example.exception;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.NoHandlerFoundException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@Configuration
public class GlobalException implements HandlerExceptionResolver {
    /**
     * 全局异常处理 (自动指向页面,并自动分配异常数据到模板中)
     *
     * @param httpServletRequest
     * @param httpServletResponse
     * @param o
     * @param e
     * @return
     */
    @Override
    public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
        ModelAndView modelAndView = new ModelAndView();


        if (e instanceof ArithmeticException) {// 数字异常
            modelAndView.setViewName("error/error1");
        }


        if (e instanceof NullPointerException) {// 空指钊异常
            modelAndView.setViewName("error/error2");
        }


        if (e instanceof NoHandlerFoundException) {//404
            modelAndView.setViewName("error/404");
        }

        modelAndView.addObject("error", e.toString());

        return modelAndView;
    }
}

  

原文地址:https://www.cnblogs.com/leigepython/p/10132462.html