歡迎大家各抒己見
背景:微服務,單元化架構中,開發語言是 Java
場景: 1 、服務之間存在多種調用,服務 A->服務 B->服務 C ; 2 、每一個服務都有對應的錯誤碼編號;服務 A:000 ~ 099 ,服務 B:100 ~ 199 ,服務 C:200 ~ 299 ; 3 、x99 爲各個服務的未知異常。
問題:服務 C 如果發生了 RuntimeException 時,但是服務 C 的開發同學沒有考慮到異常情況,服務 C 直接拋出了該異常,這時系統該如何優雅的通知調用方最爲合適呢?
方案: 1 、服務 C 利用框架的擴展能力,將錯誤碼修改爲服務 C 的錯誤碼 399 ,拋出給調用系統; 2 、服務 A 在返回給調用方前,判讀異常是否爲可識別的異常(包含錯誤碼的異常);否則進行包裝,返回錯誤碼 099 。
思考:
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.