2012-12-26 71 views
1

有沒有一種方法可以讓Eclipse在方法中拋出異常時抑制丟失的throws聲明的錯誤?丟失`throws`的缺失錯誤

如果你要在沒有明確指定throws的情況下構建並運行某些東西,它將展開到main方法並使程序崩潰(這是我在此特定情況下所需的)。有一些例外,比如sun.reflect.generics.reflectiveObjects.NotImplementedException,它允許你扔它而不需要指定throws

+0

難道你不能只是添加一個拋出聲明到你的主要方法嗎? (我沒有在這臺計算機上安裝Eclipse,所以我不能自己測試它,不幸的是...) –

+0

不是當調用層次非常深時。在這個例外情況下,我必須添加超過13個拋出聲明,這不是我想要做的事情。 – Qix

+0

看看[這個答案](http://stackoverflow.com/a/3624776/38055) - 顯示的選項窗格似乎有很多選項的各種錯誤和警告。也許那裏有什麼? –

回答

4

Eclipse在這裏沒有做任何特別的事情;問題出在Java代碼本身。您的兩個最佳選擇是更改方法的簽名以包含throws,或捕獲異常並將其重新拋出爲RuntimeException(或RuntimeException的子類)。

try { 
    doWhatever(); 
} catch (SomeException e) { 
    throw new SomeRuntimeException(e); 
} 

...其中SomeException是或擴展了Exception(但不是RuntimeException),SomeRuntimeException是或擴展了RuntimeException。

欲瞭解更多信息,請查看有關checked Exceptions的Sun Java教程中的部分。

+0

+1'RuntimeException'做到了!謝謝。在這種情況下,我創建了自己的異常,所以和將'extends Exception'更改爲'extends RuntimeException'一樣簡單。 – Qix