Java全局捕获异常处理器

在Java应用开发中,异常处理是一个非常重要的环节。良好的异常处理不仅可以提高应用的稳定性,还可以提升用户体验。全局异常处理器是Java中一种强大的机制,它允许开发者集中处理所有的未捕获异常,确保应用在遇到错误时能够优雅地处理,而不是让应用崩溃或产生不可预测的行为。

什么是全局异常处理器?

全局异常处理器是指在Spring框架(或其他Java框架)中,通过特定的注解或配置,集中处理所有未被捕获的异常。这通常涉及到创建一个特殊的控制器或类,它能够捕获并处理所有未被其他部分代码捕获的异常。

全局异常处理器的应用

在全局异常处理器中有重要的三个注解

@ControllerAdvice

@ResponseBody

@ExceptionHandler

@ControllerAdvice

@ControllerAdvice是一个类级别的注解,用于定义全局异常处理器、数据绑定配置或自定义的预处理逻辑。它允许开发者在一个地方集中处理多个@Controller@RestController的异常和生命周期事件。

@ResponseBody

@ResponseBody是一个方法级别的注解,用于指示Spring MVC将方法的返回值直接作为HTTP响应的正文返回给客户端,而不是返回一个视图(View)。

@ExceptionHandler

@ExceptionHandler是一个方法级别的注解,用于指定某个方法处理特定类型的异常。

一般来说,简单的一些小项目,我们使用 两个注解就够用了

@RestControllerAdvice

@ExceptionHandler

其中 @RestControllerAdvice = @controllerAdvice + @ResponseBody。

简易全局异常处理器类

import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

@RestControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(Exception.class)
    public result ex(Exception ex) {
        ex.printStackTrace();
        String message = ex.getMessage();
        return result.error(message);
    }
}

知识扩展

如何创建自定义异常类:Java拦截器应用-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值