Spring Boot 統一異常處理

咱們在 Controller 裏提供接口,一般須要捕捉異常,並進行友好提示,不然一旦出錯,界面上就會顯示報錯信息,給用戶一種很差的體驗。最簡單的作法就是每一個方法都使用 try catch 進行捕捉,報錯後,則在 catch 裏面設置友好的報錯提示。若是方法不少,每一個都須要 try catch,代碼會顯得臃腫,寫起來也比較麻煩。java

咱們可不能夠提供一個公共的入口進行統一的異常處理呢?固然能夠。方法不少,這裏咱們經過 Spring 的 AOP 特性就能夠很方便的實現異常的統一處理。實現方法很簡單,只須要在 Controller 類添加如下代碼便可。code

@ExceptionHandler
    public String doError(Exception ex) throws Exception{
        ex.printStackTrace();
        return ex.getMessage();
    }

其中,在 doError 方法上加入 @ExceptionHandler 註解便可,這樣,接口發生異常會自動調用該方法。接口

這樣,咱們無需每一個方法都添加 try catch,一旦報錯,則會執行 handleThrowing 方法。get

相關文章
相關標籤/搜索