我有一個包含許多未知源的接口實現的應用程序。我想清理我的源代碼,以便我不需要編寫:如何包裝來自未知源的對象
A a = AFactory.getImpl();
B b = a.getB();
if(b == null) return;
b.doSomething();
這會變得非常漫長。我是否應該包裝這個對象,以便A
永不會從getB()
返回null
;如果這是一個好主意,我該怎麼做,我應該提供一個實現,如InvalidImplemetationException
,並強制它被捕獲的錯誤。
一切似乎我的權利:請永遠不會返回確保空,如果遇到空拋出異常。你是否應該強制這個異常被捕獲 - 也就是說它是否應該是一個檢查過的異常 - 取決於是否可以在適當的運行時配置中返回null,以及應用程序是否可以實際上對日誌和/或退出進行操作。 – VGR