关于全局异常(@ControllerAdvice)的学习与思考

一声梧叶一声秋,一点芭蕉一点愁,三更归梦三更后。____徐再思《水仙子·夜雨》

今天的主题是全局异常的构建,处理,以及一些小细节;

至于全局异常的代码构建以及一些常用的异常处理类可以看这篇文章:https://www.cnblogs.com/xuwujing/p/10933082.html

简单介绍一下什么是全局异常处理:

1:当你的controller抛出一个异常,他可能是在你不知情的情况下抛出,也可能是你主动 throw抛出(注意是throw不是throws,差别可以看这篇文章:https://blog.csdn.net/Alexwym/article/details/81239692)

2:这个时候被你的@controlleradvice表识的类捕获(这里面可以自定义捕获异常,详细看上面的文章),然后你就可以对这个异常进行处理

3:处理都包括,比如说打印日志,返回错误code,

4:作用就是帮助你更快的定位错误,前端提示显示等等

注意:

1:对于try-catch捕获的异常优先级高于controllerAdivce,但是你可以主动在catch中throw异常

2:如果你要自定义异常类,建议继承runtimeException

原文地址:https://www.cnblogs.com/xiaoshahai/p/11556419.html