博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot入门教程(十九)@ControllerAdvice+@ExceptionHandler全局捕获Controller异常
阅读量:5058 次
发布时间:2019-06-12

本文共 1538 字,大约阅读时间需要 5 分钟。

在spring 3.2中,新增了@ControllerAdvice 注解,可以用于定义@ExceptionHandler、@InitBinder、@ModelAttribute,并应用到所有@RequestMapping中。@ControllerAdvice。创建全局异常处理类:通过使用@ControllerAdvice定义统一的异常处理类,而不是在每个Controller中逐个定义。@ExceptionHandler用来定义函数针对的异常类型,最后将Exception对象和请求URL映射到error.html中.

v新建异常捕获类

统一异常处理

package com.demo.common;import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.bind.annotation.ExceptionHandler;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;/** * Created by toutou on 2018/12/9. */@ControllerAdvicepublic class CatchGlobalException {    @ExceptionHandler(value = Exception.class)    public ModelAndView defaultErrorHandler(HttpServletRequest req, Exception e) throws Exception {        ModelAndView mav = new ModelAndView();        mav.addObject("exception", e);        mav.addObject("url", req.getRequestURL());        mav.setViewName("error");        return mav;    }}

verror page

实现error.html页面展示:在templates目录下创建error.html,将请求的URL和Exception对象的message输出。

    
抱歉,这是一个错误页
很抱歉,这是我们的一个错误页
影响的因素有很多,我们会尽快解决的。 ﹃_﹃〣

v效果

在Controller中"创建"一个异常。

@RequestMapping("/debug")    public String Debug(){        int number = 5 / 0;        return null;    }

运行效果如下:

SpringBoot入门教程(十九)@ControllerAdvice+@ExceptionHandler全局捕获Controller异常

作  者:
出  处:
关于作者:专注于基础平台的项目开发。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者我
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【】一下。您的鼓励是作者坚持原创和持续写作的最大动力!

转载于:https://www.cnblogs.com/toutou/p/9907401.html

你可能感兴趣的文章
Python-aiohttp百万并发
查看>>
牛顿法求平方根及习题1.6-1.8
查看>>
电赛初探(二)——语音采集回放系统
查看>>
SQL SERVER 如何调试存储过程
查看>>
php修改和增加xml结点属性
查看>>
Mysql插入数据是问号的乱码
查看>>
设计模式之原型模式
查看>>
(转)页面滚动图片加载
查看>>
使用Carthage安装第三方Swift库
查看>>
修改mysql root的密码
查看>>
LeetCode 53. Maximum Subarray
查看>>
LeetCode 151. Reverse Words in a String
查看>>
LeetCode Reverse Bits
查看>>
LeetCode The Skyline Problem
查看>>
干货!一篇文章集合所有Linux基础命令,适合所有菜鸟学习和老手回顾!
查看>>
Python基础笔记_Number类型
查看>>
JQUERY1.9学习笔记 之属性选择器(二) 包含选择器
查看>>
joj2016: Sort the Students
查看>>
Copy-On-Write容器
查看>>
判断网页请求与FTP请求
查看>>