2009-09-15 179 views

回答

9

如果異常被檢查,那麼Java編譯器將迫使你調用方法要麼捕獲該異常或聲明它可能拋出的異常。

如果拋出的異常從Error或RuntimeException繼承 - 即,沒有檢查,那麼除了javadoc和查看代碼之外,你無法知道。

後者的一個很好的例子是NumberFormatException,由Double.parseDouble(String)拋出。要知道的唯一方法是javadoc告訴你它可以拋出這個異常。

現代IDE(Eclipse,Netbeans,IntelliJ等)可以方便地訪問此文檔。

2

我使用Eclipse IDE,它將確保您處理所有拋出的異常。我強烈推薦它。

http://www.eclipse.org

+2

大多數IDE都是這樣做的,而不僅僅是Eclipse。 – 2009-09-15 18:29:12

+0

正確,好點,我表示Eclipse是我個人的建議。 – mcassano 2009-09-15 18:31:06

1

知道函數拋出什麼異常與知道它需要什麼參數以及返回什麼類型並無不同。

你要麼知道它,查看它,要麼使用一個IDE來爲你做這件事。順便說一句,檢查異常,你會得到一個編譯時錯誤,所以這也可以是一個選項。

1

對於你的第二個問題,一般 ...

以 「的Java。」 啓動軟件包或 「的javax。」 都在J2SE API。大多數以互聯網域名前綴(如「com」)開頭的軟件包。或「組織」。由第三方提供。不要指望com.sun雖然穩定。

上面沒有前綴的軟件包可能不會遵循包naming guidelines或早於它們。

+1

你在考慮使用com.sun軟件包 - 這些*不能保證穩定。 javax包與java一樣穩定 - 它的區別在於讓你知道它是一個與Java 2一起出現的「更新」的庫(即Java 1.2而不是Java 1或1.1) - 然而這是他們唯一的一次,已經做到了 - 在Java 1.5中添加了很多東西,但它們沒有添加javaxx命名空間。 – Nate 2009-09-16 01:37:41

+0

你是對的。編輯。 – 2009-09-16 18:46:17