程式設計師在開發計畫時,一定會寫 Bug。
為了提高系統的健壯性,並且讓使用者看到更友好的提示(而不是 400、500 這種又臭又長的錯誤資訊),我們肯定要對異常進行處理。
但一般情況下,我們沒辦法預料和捕獲到所有的異常,怎麽辦呢?
我們通常會采用全域例外處理器,最簡單粗暴的實作方式就是把所有的程式碼都用 try catch 包一層。
在 SpringBoot 計畫中,其實有更簡單優雅的辦法,我們可以使用如下程式碼統一處理異常:
@RestControllerAdvice
@Slf4j
public classGlobalExceptionHandler{
@ExceptionHandler(RuntimeException. class)
publicBaseResponse<?> runtimeExceptionHandler(RuntimeExceptione) {
log.error("RuntimeException", e);
return ResultUtils.error(ErrorCode.SYSTEM_ERROR, "系統錯誤");
}
}
無論是 Service 還是 Controller 還是什麽位置的異常,通通一網打盡!
完整程式碼片段來源於程式碼小抄,歡迎點選進入小程式閱讀!
線上存取:https://www.codecopy.cn/post/6tiler