springboot 配置全局异常捕获()页面跳转形式)

三种方式

	1 ,  页面跳转形式
	2 , ajax 形式
	3 , 统一返回异常处理的心事

第一种 (页面跳转形式)

			@ControllerAdvice     Spring 在3.2版本后面增加了一个ControllerAdvice注解
样例:

定义	Controller  ; 
										@Controller
										@RequestMapping("err")
										public class ErroController {
    
    
										
										  @RequestMapping("/errow")
										    public String errow(){
    
    
									        int a = 1/0;
									        return "thymeleaf/error";
									        
									    }

 定义一个异常捕获类
					@ControllerAdvice
					public class IMoocExceptionHandler {
    
    
					
						public static final String IMOOC_ERROR_VIEW = "error";
					
						@ExceptionHandler(value = Exception.class)
					    public Object errorHandler(HttpServletRequest reqest,
												   HttpServletResponse response, Exception e) throws Exception {
    
    
					
					    	e.printStackTrace();
					
							ModelAndView mav = new ModelAndView();
					        mav.addObject("exception", e);
					        mav.addObject("url", reqest.getRequestURL());
					        mav.setViewName(IMOOC_ERROR_VIEW);
					        return mav;
					    }

定义一个返回的错误页面
			<head lang="en">
		    <meta charset="UTF-8" />
		    <title>捕获全局异常</title>
				</head>
				<body>
				    <h1 style="color: red">发生错误:</h1>
				    <div th:text="${url}"></div>
				    <div th:text="${exception.message}"></div>
				</body>




Debug ;
在这里插入图片描述

在这里插入图片描述

结果 :

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43183496/article/details/106897358