详解如何在spring中创建全局异常处理器
全局异常处理器在实际项目开发中是一个很重要的工具;对保证代码的正常运行有很重要的作用。当然这样也可以使得用户体验更好,总不可能让用户看到我们后端密密麻麻的报错信息吧。
下面来讲一下如何创建一个全局异常处理器:
1.创建一个全局异常处理类:并添加@RestControllerAdvice注解
2.在类中创建方法用于捕获异常:在方法上添加注解:@ExceptionHandler
方法中的形参就是异常的类型。
下面是对注解的简单介绍以及完整的代码:
@RestControllerAdvice:
该注解 由@ControllerAdvice、@ResponseBody组成
而@ControllerAdvice继承了@Component
@RestControllerAdvice本质上是个Component
@ExceptionHandler:用于指定异常处理方法。当与@RestControllerAdvice配合使用时,用于全局处理控制器里的异常。
import com.sky.exception.BaseException; import com.sky.result.Result; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; /** * 全局异常处理器,处理项目中抛出的业务异常 */ @RestControllerAdvice @Slf4j public class GlobalExceptionHandler { /** * 捕获业务异常 * @param ex * @return */ @ExceptionHandler public Result exceptionHandler(BaseException ex){ log.error("异常信息:{}", ex.getMessage()); return Result.error(ex.getMessage()); } }
这样当代码运行出现对应的异常的时候,就会被捕获,并且执行方法中的代码。
到此这篇关于详解如何在spring中创建全局异常处理器的文章就介绍到这了,更多相关spring创建全局异常处理器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java Management Extensions管理扩展原理解析
这篇文章主要介绍了Java Management Extensions管理扩展原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-04-04从 PageHelper 到 MyBatis Plugin执行概要及实现原理
这篇文章主要为大家介绍了从 PageHelper 到 MyBatis Plugin执行概要及实现原理,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-09-09使用SpringBoot中的Schedule定时发送邮件的方法
在SpringBoot中,你可以使用@Scheduled注解来创建定时任务,@Scheduled注解可以应用于方法上,表示这个方法是一个定时任务,可以根据指定的时间间隔或固定时间执行,本文就给大家介绍一下如何使用SpringBoot中的Schedule定时发送邮件,需要的朋友可以参考下2023-08-08
最新评论