项目中异常是如何处理的

简介: 项目中设定了全局异常处理器,统一处理预期和运行时异常。预期异常由程序员手动抛出,用于异常情况的接口返回;运行时异常为不可控错误,提供统一返回格式便于前端提示和后端排查。全局异常处理器借助@RestControllerAdvice和@ExceptionHandler注解,前者标识处理器,后者按异常类型定制前端响应,如预期异常直接返回,运行时异常则调整响应内容。

在我们的项目中定义了一个全局异常处理器来统一处理异常。

一般项目开发中的异常分为了两类:一个是预期异常,一个是运行时异常。

  • 其中预期异常就是程序员手动抛出的异常,如果有业务处理不合理,可以使用异常来提供接口的返回
  • 运行时异常,这类异常是项目中不可控的异常,比如代码直接报错了,这个时候接口的返回会有一个统一的返回格式,来方便的给前端进行提醒,同时呢,后端看到之后可以在后端查看异常方便进行处理

在定义全局异常的时候,会使用到两个注解

  • @RestControllerAdvice  定义是一个控制器增强类,来表示这个类是一个全局异常处理器
  • @ExceptionHandler  这个是在方法上进行定义,它可以指定异常的类型来进行拦截,通过不同的异常类型,进行不同的前端响应,比如预期异常可以直接返回,如果是运行时异常,则会转换响应内容
目录
相关文章
|
SQL IDE 算法
手撕代码是程序员的基本功吗?
现在众多企业都要求在面试中用“手撕代码”来考验应聘者的代码能力,你觉得手敲代码是否可以体现真实的基础实力? 本期话题: 1、你觉得手撕代码是程序员的基本功吗? 2、为什么会用“手撕代码”来考验程序员能力
238 1
|
Kubernetes Ubuntu Unix
Linux安装 v1.27.3 Kubernetes
Linux Install Kubernetes
258 0
|
存储 Kubernetes 监控
Helm Dashboard GUI 工具解析
Hello folks,今天我们介绍一下由 Komodor 推出的开源项目 Helm-Dashboard。也是继 ValidKube 之后的第二个开源项目。
227 0
|
存储 缓存 关系型数据库
【MySQL进阶-08】深入理解innodb存储格式,双写机制,buffer pool底层结构和淘汰策略
【MySQL进阶-08】深入理解innodb存储格式,双写机制,buffer pool底层结构和淘汰策略
847 0
|
缓存 前端开发 JavaScript
前端配置的 404问题
前端配置的 404问题
356 0
|
存储 关系型数据库 MySQL
终端连接MySQL进行操作(全网超详细的教程,手把手教你)
终端连接MySQL进行操作(全网超详细的教程,手把手教你)
748 0
|
域名解析 网络协议 前端开发
Linux常见命令(面试高频)
Linux常见命令(面试高频)
|
8月前
|
JSON Java 数据库
Spring Boot中的全局异常处理
主要讲解了Spring Boot 的全局异常处理,包括异常信息的封装、异常信息的捕获和处理,以及在实际项目中,我们用到的自定义异常枚举类和业务异常的捕获与处理,在项目中运用的非常广泛,基本上每个项目中都需要做全局异常处理。
|
10月前
|
Dubbo Java 应用服务中间件
微服务框架(十四)Spring Boot @ControllerAdvice异常处理
此系列文章将会描述Java框架Spring Boot、服务治理框架Dubbo、应用容器引擎Docker,及使用Spring Boot集成Dubbo、Mybatis等开源框架,其中穿插着Spring Boot中日志切面等技术的实现,然后通过gitlab-CI以持续集成为Docker镜像。   本文为Spring Boot使用@ControllerAdvice进行自定义异常捕捉
|
7月前
|
存储 关系型数据库 MySQL
MySQL主从同步如何保证数据一致性?
MySQL主从同步如何保证数据一致性?
546 0
MySQL主从同步如何保证数据一致性?