当前位置: 首页 > 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);
}

相关文章:

  • 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实时监控常用指令、工具
  • 生于1984年,马玥已任辽宁锦州北镇市代市长
  • 韩冬任国家广播电视总局副局长,齐竹泉任中央广播电视总台副台长
  • 时隔七年,上合组织国家电影节再度在中国举办
  • 夜读丨一条鱼的使命
  • 上海市长会见璞跃全球创始人亚美迪,建设国际AI创新创业网络中心节点
  • 供应商已“陷入困境”,美汽车行业致信特朗普政府