Spring Boot 提供了一個全局異常處理機制,可以通過編寫一個全局異常處理類來統一處理系統中出現的異常。
GlobalExceptionHandler
。@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public ResponseEntity<Object> handleException(Exception ex) {
// 處理異常
// 返回自定義的錯誤信息
return new ResponseEntity<>("發生了錯誤", HttpStatus.INTERNAL_SERVER_ERROR);
}
}
在 GlobalExceptionHandler
類上添加 @ControllerAdvice
注解,表示這是一個全局異常處理類。
在 GlobalExceptionHandler
類中編寫一個異常處理方法,使用 @ExceptionHandler
注解來指定要處理的異常類型。在方法中處理異常,并返回一個自定義的錯誤信息。
可以根據具體需求,在異常處理方法中根據不同的異常類型進行不同的處理,例如返回不同的錯誤碼、錯誤信息等。
當系統中出現異常時,Spring Boot 會自動調用 GlobalExceptionHandler
類中的異常處理方法,并返回自定義的錯誤信息。
注意:全局異常處理類需要被掃描到,可以將其放在主應用程序類的同級或子級包中。
這樣,當系統中出現異常時,就會自動調用全局異常處理類中的異常處理方法,實現統一處理異常的邏輯。