溫馨提示×

springboot定義全局異常怎么解決

小億
93
2023-11-09 15:58:13
欄目: 編程語言

在Spring Boot中,可以通過@ControllerAdvice注解和@ExceptionHandler注解來定義全局異常處理。

首先,創建一個全局異常處理類,使用@ControllerAdvice注解標記該類為全局異常處理類。然后在類中定義一個方法,并使用@ExceptionHandler注解標記該方法為異常處理方法,該方法的參數為要處理的異常類型。

例如,創建一個GlobalExceptionHandler類作為全局異常處理類:

@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler(Exception.class)
    public ResponseEntity<String> handleException(Exception ex) {
        // 返回自定義的異常信息
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("發生異常,請稍后重試");
    }
}

上述代碼中,handleException方法處理Exception類型的異常,當發生異常時,返回自定義的異常信息。

接下來,需要確保全局異常處理類被Spring Boot掃描到??梢酝ㄟ^在啟動類上添加@ComponentScan注解來指定要掃描的包,或者將全局異常處理類放在啟動類所在的包或其子包下。

這樣,當發生異常時,全局異常處理類中相應的方法將會被調用,并返回自定義的異常信息。

需要注意的是,全局異常處理類只能處理在Controller中發生的異常,對于其他地方的異常無效。如果要處理其他地方的異常,可以在相應的類中使用@ExceptionHandler注解來處理。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女