假設我有一個MyException類,它的子類是Exception。當我的代碼中發生錯誤時,我正在使用這個類來包含上下文信息。可以在不拋出它的情況下實例化異常嗎?
我通常用它來包裝「標準」異常類之一。例如,如果輸入驗證過程中發生錯誤,我會做這樣的事情
if (invalidInput())
throw new MyException(new IllegalArgumentException(), arg1, arg2, ...);
但我的IDE(IntelliJ IDEA的)警告我說,不拋出它是壞的實例化一個未經檢查的異常(拋出:IllegalArgumentException在這個例子中),但不告訴我爲什麼。
那麼如何實例化一個異常而不拋出它有多罪?我會去哪個圈子?
爲什麼不在這種情況下擴展IllegalArgumentException? – Zed 2009-12-02 11:05:14
@Zed因爲我使用MyException來包裝幾乎所有可以在我的代碼中拋出的異常。 – lindelof 2009-12-02 11:06:37
你讓自己擺脫了所有的信息,'catch'沒用...... blech。 ( – 2009-12-02 11:16:45