2010-04-28 125 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块或声明封闭方法也抛出异常。