ABP 微服務下的異常處理機制如何關閉

2022-07-21 05:09:09 字數 789 閱讀 1279

關注了abp一段時間,並且也有一些內部專案基於abp的架構落地,近期有乙個專案需要使用微服務架構,所以就研究了abp的microservice demo,進行了本地部署。專案本身是乙個業務/資料中颱的定位,需要提供很多服務api,在做各個服務的api返回值處理的時候發現,如果呼叫abp封裝好的module,且module裡拋異常出來,則會直接走abp自帶的返回值(把異常結果進行封裝)並作為這次http請求的結果,但這樣的返回值格式不是我們的規範,所以就想辦法去自定義,由於abp vnext版本比較新,所以一些特性還沒有在新版本中迭代,比如dontwarpresult這個屬性。

奈何專案時間短,任務重,就採取了比較不友好的方式來解決。

abp 都是基於abpexceptionfilter來擷取所有exception,那麼我們就重新定義了乙個自己的exceptionfilter,如下:

然後將此filter 注入到程式中,如下:

此時還需要將原有的abpexceptionfilter進行移除,如下:

至此,所有的異常都不再走abpexceptionfilter進行封裝,則會直接跳入我們自己的異常處理機制,進行返回值的設計和返回 來滿足我們的介面規範。

Python的異常處理機制

當你的程式中出現異常情況時就需要異常處理。比如當你開啟乙個不存在的檔案時。當你的程式中有一些無效的語句時,python會提示你有錯誤存在。下面是乙個拼寫錯誤的例子,print寫成了print。python是大小寫敏感的,因此python將引發乙個錯誤 print hello world file l...

C 的異常處理機制

寫出乙個bug的程式,是每個程式猿的美好期望,但是現實總是很殘酷,我曾聽到過一句話 大多數程式猿往往花三分之一的時間寫程式,剩下的三分之二用於修bug,那麼怎樣我們在程式發生錯誤的時候如何快速定位到錯誤 區,從而解決錯誤這就要用的異常處理機制了。異常處理 當乙個函式發現自己無法處理的錯誤時丟擲異常,...

C 的異常處理機制

任何完美的應用程式和技術高明的程式設計師,都不可能是絕對不出差錯的。與其追求完美無錯的 還不如將程式中可能預知的異常在發布前進行很好的處理,可能是最有價值的。那麼,c 是如何處理異常的呢?首先,我們從最普通的異常說起 使用try catch finally塊捕獲異常,基本格式如下 1 try 2 5...