spring全局异常处理怎么实现

avatar
作者
筋斗云
阅读量:0

在Spring中,可以通过实现ControllerAdvice注解来实现全局异常处理。具体步骤如下:

  1. 创建一个全局异常处理类,例如GlobalExceptionHandler:
@ControllerAdvice public class GlobalExceptionHandler {      @ExceptionHandler(Exception.class)     public ResponseEntity handleException(Exception ex) {         // 构造异常响应         ErrorResponse errorResponse = new ErrorResponse(ex.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR.value());         return new ResponseEntity<>(errorResponse, HttpStatus.INTERNAL_SERVER_ERROR);     } } 
  1. 在handleException方法中,可以根据具体的异常类型进行处理,并返回相应的错误响应。

  2. 在异常处理类中,可以定义一个ErrorResponse类来表示错误响应:

public class ErrorResponse {      private String message;     private int status;      public ErrorResponse(String message, int status) {         this.message = message;         this.status = status;     }      // 省略getter和setter方法 } 
  1. 异常处理类中的方法可以处理所有Controller中抛出的异常,并返回统一的错误响应。

通过以上步骤,就可以实现Spring全局异常处理。当Controller中的方法抛出异常时,全局异常处理类会捕获该异常并返回统一的错误响应。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!