当前位置: 首页 > news >正文

【Java学习】全局异常处理器的使用流程

1.创建全局异常处理器的类:在工程的base包中创建exception包作为异常处理包,包内创建GlobalExceptionHandler的Java文件,作为全局异常处理器使用。
2.进入文件,添加@ResrControllerAdvice注解
(该注解是Spring MVC框架所属,添加在类上,是@ControllerAdvice和@ResponseBody的组合注解)
@ControllerAdvice是Spring MVC所属方法,添加在类上,标记此类中特定的方法将作用于每次处理请求的过程中
@ResponseBody是Spring MVC所属方法,添加在方法上,标记此方法是“响应正文”的,添加在类上则标记此类中的所有方法都是“响应正文”的
3.创建对应的异常处理方法,添加@ExceptionHandler注解(该注解是Spring MVC所属注解,添加在方法上,标记此方法是处理异常的方法,可以通过配置注解参数来指定需要处理的异常类型,如果没有配置注解参数,所处理的异常类型取决于方法的参数列表中的异常类型)
方法示例(RuntimeException:正常运行时可能发生的异常):

//注意 注解 和 参数[控制器抛出的异常对象]
@ExceptionHandler
public JonsResult doHandleRuntimeException(RuntimeException ex){}

对封装类参数进行合法性校验的处理方法:

@ExceptionHandler    
public JsonResult doHandleMethodArgumentNotValidException(MethodArgumentNotValidException ex){String data = ex.getFieldError().getDefaultMessage();return new JsonResult(StatusCode.VALIDATE_ERROR,data);
}```对非封装类参数进行合法性校验:
split()切割,trim()去除一个字符串左右两侧的空白```java
@ExceptionHandler
public JsonResult doHandleConstraintViolationException(ConstraintViolationException ex){String data = ex.getMessage().split(":")[1].trim();return new JsonResult(StatusCode.VALIDATE_ERROR,data);
}
http://www.dtcms.com/a/134767.html

相关文章:

  • opencv二值化实验
  • 解决7穴连接器的信号完整性问题
  • Linux——管道
  • OpenCV---图像基础
  • 4.14-4.15学习总结 IO流:缓冲流+转换流+序列化流+打印流+压缩流+Commons—io工具包+Hutool工具包
  • ZUS6000在无线充电测试上的应用
  • Java二分查找——数据结构篇
  • linux 内核 static-key机制分析
  • 数据结构(三)---单向循环链表
  • 【Pandas】pandas DataFrame itertuples
  • Debian服务器挂载外部存储设备的完整指南
  • Android 项目配置文件解释
  • 【差分隐私相关概念】瑞丽差分隐私(RDP)命题2
  • 数字IC设计-VCS和Verdi的使用
  • RFID 赋能部队智能物联网仓储建设:打造信息化高效解决方案
  • 电磁兼容概述-标准梳理
  • 在IDEA里面建立maven项目(便于java web使用)
  • 什么是时间复杂度和空间复杂度?
  • 抖音ai无人直播间助手场控软件
  • Java实时监控常用指令、工具
  • 大数据学习笔记
  • 软件定义网络(SDN):重塑未来网络的革命性架构
  • SQL学习-关联查询(应用于多表查询)
  • rk3588 驱动开发(一)字符设备开发
  • 《 Reinforcement Learning for Education: Opportunities and Challenges》全文阅读
  • 每日文献(十三)——Part one
  • kylin系统软件移植部署过程中遇到的问题及解决方案
  • WINUI——Background小结
  • Kotlin 与 Jetpack Compose 参数设计完全指南
  • Endnote 21显示字段设置与修改详细解析(附Endnote Click)