2009-09-15 113 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