Dubbo 介面異常處理邏輯

2021-09-29 04:34:26 字數 923 閱讀 5190

api 介面中丟擲的異常型別,有一系列的規則,**在exceptionfilteronresponse中。

這是因為如果是受檢異常,介面定義的throws中需要涵蓋,呼叫端需要捕獲該異常,該異常一定能訪問到。

這種情況下,介面指明丟擲的異常,呼叫端也能獲取該異常,因此可以直接丟擲。

此時也可以直接丟擲。

這些都是 jdk 自帶的,可以直接丟擲。

呼叫方也整合了 dubbo,因此可以直接丟擲。

如果不滿足前 5 個規則,就會被包裝成統一的異常,導致異常資訊變得冗長模糊。

dubbo 上述邏輯只在 a 呼叫 b 這種簡單呼叫時有效,如果出現了 a->b->c,當 c 丟擲異常時,b 能夠正常接收,如果是runtime型別的,b 沒有處理時,會直接拋給 a,但是此時 b 丟擲的異常和 b 介面沒有任何關係,這就導致 b 在過濾器中進入第 6 種情況,導致 a 接收到的異常變得模糊。

如果系統基礎包中定義了統一的異常類,在跨多次服務呼叫時仍然無法使用,想要避免問題只能從前 6 條規則入手。

dubbo全域性異常處理 dubbo異常處理

dubbo異常處理 我們的專案使用了dubbo進行不同系統之間的呼叫。每個專案都有乙個全域性的異常處理,對於業務異常,我們會拋出自定義的業務異常 繼承runtimeexception 全域性的異常處理會根據不同的異常型別進行不同的處理。最近我們發現,某個系統呼叫dubbo請求,provider端 服...

dubbo自定義異常處理

1.問題 專案中部分模組單獨部署,模組間服務呼叫使用dubbo,當服務提供者丟擲了自定義的異常時,服務消費者捕獲的是乙個runtimeexception而不是自定義的異常,導致獲取自定義異常的message時,得到的不僅僅是丟擲的message,而是乙個異常棧。2.原因 dubbo服務提供者丟擲的異...

Openstack web介面登入異常處理

下面是關於一次openstack登陸異常問題的解決方法。由於每個環境可能有差異,僅作為乙個參考。某天正在使用openstack時,突然就退出了,輸入平時使用的賬號和密碼,卻彈出unable to establish connection to keystone endpoint 無法建立與keyst...