2010-04-28 24 views
0

我最近從NetBeans轉移到了Eclipse,並且我非常想念一個很棒的功能 - 無論何時我使用引發某種異常的方法,NetBeans都會提醒我,並且需要添加try-catch和NetBeans爲我自動生成異常類型。有沒有類似Eclipse的東西?Eclipse - 在NetBeans中處理Java異常

f.e. :Integer.parseInt(new String("foo"));

NetBeans警報我需要捕獲NumberFormatException。

Eclipse不都

提醒我,我使用Eclipse的Java EE IDE爲Web開發者,3.5 - 伽利略

回答

3

它肯定不會。當然,你必須在那之前點擊「保存」(CTRL + S)。

當然,你不應該聲明拋出異常(例如throws Exception

另外,還要確保你已經Project > Build automatically選擇的方法。

重要:你不聲明或趕上RuntimeException或它的子類 - 這些都是unchecked異常,併爲他們日食正確不提供任何選項。 NumberFormatExceptions就是其中之一。

嘗試使用FileInputStream的方法,例如,IOException - 檢查的異常 - 被拋出。

(備案部分 - NetBeans也沒有做Integer.parseInt(..)什麼)

+0

我使用默認設置,它不。我檢查了編輯器設置,無法找到這種設置。 – Xorty 2010-04-28 09:26:42

+0

'Integer.parseInt'拋出'NumberFormatException',這不是手動聲明的...? – Finbarr 2010-04-28 09:40:44

+0

@Finbarr:任何類型的異常,這只是一個例子 – Xorty 2010-04-28 09:42:11

1

Eclipse的依賴於編譯器錯誤建議的try/catch異常和NumberFormatException的擴展RuntimeException的,如果它沒有被嘗試包圍它不給出錯誤/ catch塊(以避免將所有內容都放在塊中 - 考慮NullPointerException,這也是一個RuntimeException和所有可能導致它的情況)。
引用自javadoc:「RuntimeException是在Java虛擬機正常運行期間可引發的那些異常的超類。

不需要在其throws子句中聲明可能拋出的RuntimeException的任何子類執行該方法的過程中,但沒有抓到。
如果你嘗試做一些像

FileInputStream f = new FileInputStream(""); 

會拋出FileNotFoundException異常,不繼承RuntimeException,你會得到一個編譯錯誤,並從Eclipse的一個建議,使用一試/ catch塊或聲明封閉方法也拋出異常。