首页 文章

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

提问于
浏览
3

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

我如何设置eclipse为所有未处理的异常投诉?

谢谢!

6 回答

  • 3

    简单的答案是你做不到 .

    更长的答案是:

    • 经过检查和未经检查的异常是Java语言的基本组成部分 .

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

    • 考虑到大多数语句(理论上)可以抛出或传播例如 NullPointerExceptionArrayIndexOutOfBoundsExceptionOutOfMemoryError 等异常,你也不会想要它 .

    是的,有一个或两个"mistakes" ...例如 NumberFormatException 是一个未经检查的异常...但更好的方法是(例如)运行PMD与一些自定义规则来获取"ought to be"处理为的异常检查 .

  • 2

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

  • 2

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

  • 1

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

    在Java中,除了 RuntimeExceptionError 的子类之外,都会检查所有 Throwable .

  • 1

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

  • 1

    关于例外情况,“设定为抱怨”不是日食 .

    Checked and Unchecked Exceptions in Java .

相关问题