當一個web api拋出一個異常后
此異常會被轉化成一個HTTP響應
錯誤代碼為500的服務錯誤
但是如果你不想讓客戶端看到500的錯誤碼
你也可以自定義錯誤碼
如下代碼當用戶輸入的ID沒有與之相關的數據
則返回了錯誤碼為404的錯誤
(頁面未找到)
如果需要進一步自定義錯誤消息的內容
可以通過如下方法來完成
結果如下圖所示


另外
開發人員可以托管異常的拋出
異常過濾器可以接到controller拋出的任何未處理異常,
並不單單是HttpResponseException
異常過濾器實現了System.Web.Http.Filters.IExceptionFilter接口
光創建了異常過濾器還不夠
還要注冊到系統中去才有效
我目前還不知道怎么在這里注冊這個過濾器

運行的效果如下


另外
如果知識針對某個類或者某個action處理異常
也可以使用特性的寫法