Spring MVC處理異常

2021-09-26 10:09:09 字數 2860 閱讀 8903

一、將異常對映為http狀態碼

1.1 spring異常與http狀態碼

spring異常

http狀態碼

1.2 通過@responsestatus註解將異常對映為http狀態碼

1)定義異常

通過@responsestatus註解可以把異常對映為對應的http狀態碼。

httpstatus類提供了http狀態碼的常量。

2)使用異常

下面的**中,當id的值大於10的時候瀏覽器就會丟擲404錯誤。

(value =

"test/"

,method = requestmethod.post, produces =

)@responsebody

public string exception

(@pathvariable

("id"

)int id)

return

"success";}

3)執行結果

啟動程式訪問http://localhost:8000/test/11時則會出現如下效果:

當請求http://localhost:8000/test/10出現如下效果:

1.3 編寫異常處理的方法

1)在控制器中定義處理異常的方法

在此控制器內所有丟擲這個錯誤的方法都會執行此方法。

@exceptionhandler

(arithmeticexception.

class

)public string error()

2)定義測試方法

當測方法丟擲arithmeticexception異常時(i等於0時),就是執行error()方法。

(

"/error"

)public string testerror

(@requestparam

("i"

)int i)

1.4 為控制器新增通知

控制器通知(controller advice)是任意帶有@controlleradvice註解的類,這個類會包含乙個或多個如下型別的方法:

1)示列:定義乙個全域性的錯誤處理方法

import org.springframework.web.bind.annotation.controlleradvice;

import org.springframework.web.bind.annotation.exceptionhandler;

@controlleradvice

public

class

errormethod

}

spring mvc 異常處理

一般來說,程式每出現乙個異常就需要throws 或者try catch語句塊進行處理,這樣處理異常的方法比較少的情況,還體現不出麻煩,如果需要處理異常的方法比較多的情況下,有乙個統一處理異常方法就顯得尤其重要,即所有丟擲的異常都在乙個方法進行處理,這樣可以集中 簡便,如果需要修改異常處理的方式也比較...

springmvc異常處理

1.異常處理思路 系統中異常包括兩類 預期異常和執行時異常runtimeexception,前者通過捕獲異常從而獲取異常資訊,後者主要通過規範 開發 測試的手段減少執行時異常的發生。系統的dao service controller出現異常都通過throws exception向上丟擲,最後由spr...

SpringMVC異常處理

一 springmvc異常處理流程 預期異常,執行時異常 runtimeexception 前者通過捕獲異常從而獲取異常資訊,後者主要通過規範 開發 測試通過手段減少執行異常的發生。系統的dao service controller 出現都通過throw cetion向上跑出,最後由springmv...