在Spring中,可以通過實現ControllerAdvice注解來實現全局異常處理。具體步驟如下:
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public ResponseEntity<ErrorResponse> handleException(Exception ex) {
// 構造異常響應
ErrorResponse errorResponse = new ErrorResponse(ex.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR.value());
return new ResponseEntity<>(errorResponse, HttpStatus.INTERNAL_SERVER_ERROR);
}
}
在handleException方法中,可以根據具體的異常類型進行處理,并返回相應的錯誤響應。
在異常處理類中,可以定義一個ErrorResponse類來表示錯誤響應:
public class ErrorResponse {
private String message;
private int status;
public ErrorResponse(String message, int status) {
this.message = message;
this.status = status;
}
// 省略getter和setter方法
}
通過以上步驟,就可以實現Spring全局異常處理。當Controller中的方法拋出異常時,全局異常處理類會捕獲該異常并返回統一的錯誤響應。