在Spring Boot中,可以通過編寫一個全局異常處理器來處理應用程序中的所有異常。以下是一個示例代碼,展示了如何實現全局異常處理。
首先,創建一個自定義的異常處理器類,實現@ControllerAdvice
注解和@ExceptionHandler
注解,這樣Spring Boot就會將其識別為全局異常處理器。
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public ResponseEntity<String> handleException(Exception e) {
// 在這里編寫異常處理邏輯
// 可以根據具體的異常類型進行不同的處理
// 返回自定義的錯誤消息或錯誤碼
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Internal Server Error");
}
}
在handleException
方法中,可以根據具體的異常類型進行不同的處理邏輯,并返回自定義的錯誤消息或錯誤碼。
然后,在Spring Boot的主類中,添加@EnableWebMvc
注解,以啟用全局異常處理。
@SpringBootApplication
@EnableWebMvc
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
這樣,當應用程序中拋出任何異常時,都會被全局異常處理器捕獲并處理。
需要注意的是,全局異常處理器只能處理在Controller層拋出的異常,如果在Service層或其他地方拋出的異常需要進行處理,可以在對應的方法中使用try-catch
塊來處理異常,并返回自定義的錯誤消息或錯誤碼。