咱們在 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