當前位置: 妍妍網 > 碼農

今日程式碼大賞 | 全域例外處理

2024-03-11碼農

程式設計師在開發計畫時,一定會寫 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