一头扎进springboot之捕获全局异常

我们在写项目的过程中,遇到各种各样的异常都是很常见的,但是作为开发人员,是肯定不能将程序的异常暴露给用户的,我们需要对其进行友好提示,那么在springboot中,我们可以使用注解,在一个类中,把一些运行异常都写出来,这样方便项目在运行时更快速的捕捉到异常并给出提示

例如,我们在HelloController类中造一个运行错误出来,内容如下


那么我们在用浏览器访问该方法时一定会报错的


错误提示也是很明显的,不能除以0,那么我们去创建一个类,专门用来捕获异常,这样在项目运行时,就可以拦截到所有的异常了,内容如下

我们在类前加了一个@ControllerAdvice的注解,这个注解是controller的一个辅助类,最常用的就是作为全局异常处理的切面类

如果我们不是捕获json数据格式的异常时,将@ResponseBody这个注解去掉即可


当我们写下这个异常拦截器后,一旦程序发生异常,就会跑这个类来,那么我们再运行的时候,就是另外一个效果了


当然我们如果要捕获其他类型异常时,只要改变类型即可

刚才在写代码过程中,我犯了一个小小的错误,导致捕获异常类没有生效,就是我把类没有创建在controller层中,结果因为没有扫描到这个类,所以一直没起作用,后面发现了,所以想在这里提醒一下,当你写的代码没有生效时,去检查下自己写的类是否被springboot扫描了,好啦,今天的文章分享就到这里了


猜你喜欢

转载自blog.csdn.net/qiuqiu_qiuqiu123/article/details/78489619