在Eclipse中通知未处理的异常的配置是什么?

时间:2011-05-11 11:16:23

标签: java eclipse exception

当在eclipse中我使用抛出异常的方法时,它通常会抱怨它是否被try / catch包围,或者是否再次抛出异常。但是对于一些例外(例如Integer.parseInt(string)),eclipse不会抱怨。

如何设置eclipse以抱怨所有未处理的异常?

谢谢!

6 个答案:

答案 0 :(得分:3)

简单的答案是你做不到。

答案越长越好:

  • 已检查与未检查的异常是Java语言的基本组成部分。

  • Eclipse编译器的作用不是为有效且完全可接受的Java提供编译错误或警告。

  • 考虑到大多数陈述(理论上)可以抛出或传播NullPointerExceptionArrayIndexOutOfBoundsExceptionOutOfMemoryError等异常,你也不会想要它,等等。

是的,有一两个“错误”......例如NumberFormatException是一个未经检查的异常......但是更好的处理方法是(例如)运行带有一些自定义的PMD规则,以获取“应该”视为已检查的异常。

答案 1 :(得分:2)

此行为由java语言定义定义。 有两种类型的例外: 必须捕获异常,可能会发生RuntimeExceptions但不需要try / catch块。

答案 2 :(得分:2)

RuntimeException不需要声明,可以由堆栈中的任何调用者处理。在编译时评估调用者的位置是不可能的。

答案 3 :(得分:1)

AFAIK,Eclipse使用与Java相同的已检查异常和未经检查的异常列表。这是Java工作原理定义的一部分。如果Eclipse允许你覆盖它,我会感到惊讶。

在Java中,除ThrowableRuntimeException的子类外,都会检查所有Error

答案 4 :(得分:1)

关于例外情况,“不要抱怨”不是日食。

请参阅Checked and Unchecked Exceptions in Java

答案 5 :(得分:1)

只有在未处理已检查的异常时,编译器才会抱怨。这里Integer.parseInt(string)应该抛出一个未经检查或运行时异常的numberformatexception。因为它没有抱怨。