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

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

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

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

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

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

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

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

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

一头扎进springboot之捕获全局异常相关推荐

  1. 一头扎进SpringBoot视频教程(附源码与文档)

    目录:/099 一头扎进SpringBoot视频教程(附源码与文档) ┣━━<一头扎进SpringBoot>第八讲.mp4 ┣━━<一头扎进SpringBoot>第八讲源码及文 ...

  2. springboot怎么捕获全局异常

    学习目标: java中的异常和错误 学习内容: 首页要了解什么是异常什么是错误 捕捉全局异常 自定义异常 一.java中异常和错误的区别 Error类和Exception类的父类都是throwable ...

  3. 一头扎进springboot之访问jsp页面

    springboot访问jsp呢其实也比较简单,废话不多说,我们直接看步骤 这里要声明一点的是,在建项目时,项目的类型不要选择jar,而要选择war 类型,因为我们需要引入jsp文件 1>pom ...

  4. 一头扎进springboot之使用Freemarker模板引擎渲染web视图

    在springboot的官方文档中是不建议在项目中使用jsp这样的技术的,取而代之的是freemark.velocity这样的模板引擎. 首先和大家来说一下这个模板引擎的概念,这里特指用于web开发的 ...

  5. 一头扎进springboot学习笔记

    https://pan.baidu.com/s/1k6XNtW8w-WolJK3Yr556Fg

  6. Springboot捕获全局异常:MethodArgumentNotValidException

    Springboot捕获全局异常:MethodArgumentNotValidException 控制器 方法上添加@Valid注解 @PostMapping("/update") ...

  7. Eclipse搭建springboot项目(六)全局异常

    Eclipse搭建springboot项目(六)全局异常 知识点: 1.SpringBoot2.x服务端异常和SpringBoot配置全局异常 1).默认异常测试 int i = 1/0,不友好 2) ...

  8. PHP 捕获全局异常

    PHP 捕获全局异常 参考文章: (1)PHP 捕获全局异常 (2)https://www.cnblogs.com/yaomao/p/11260388.html (3)https://www.java ...

  9. SpringBoot中定义全局异常处理器

    场景 SpringBoot中创建全局异常处理器,使发生异常时能处理. 项目搭建专栏: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/356 ...

最新文章

  1. centos环境变量设置
  2. struts2 s标签
  3. 倒排列表求交集算法汇总
  4. Redis中的发布与订阅
  5. [转]浅谈CMD和win powershell的区别
  6. 最短路弗洛伊德(Floyd)算法加保存路径
  7. ci 邮件 html模板,CI Email类发邮件
  8. (C++版)链表(三)——实现双向链表的创建、插入、删除等简单操作
  9. 关于使用public class 和 class声明类的区别
  10. Gradle之module间依赖版本同步
  11. Python五角星绘制
  12. 粒子特效 代码(龙卷风)
  13. 使用viewer.js实现在线浏览Office文档
  14. 最全的大数据学习资料整理
  15. SendMail.java
  16. pandas数据分析读书笔记(四)
  17. 常用的正则表达式(用户名、密码、邮箱)
  18. e-dialog出现额外多了一层遮罩
  19. window.close
  20. Double 保留四位小数

热门文章

  1. OpenWRT初次进入设置联网
  2. mysql_0n-常见函数-211116
  3. Activiti6--入门学习--结束事件
  4. 学习Java虚拟机的正确的姿势?
  5. 网络工作室官网HTML源码
  6. linux骚操作之第八话硬盘分区及挂载
  7. 使用PCLPY进行点云图像融合
  8. 关于更新pip后pycharm工程中设置还是显示老版本的解决办法
  9. java字符转成ncr_NCR字符编码(形如xx)转换为汉字 in JAVA
  10. 凶猛现金贷背后的欲望深渊:女子网上撸81只猫,欠下70万元债