【问题标题】:What's the configuration to notify the unhandled exceptions in Eclipse?通知 Eclipse 中未处理的异常的配置是什么?
【发布时间】:2011-05-11 11:16:23
【问题描述】:

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

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

谢谢!

【问题讨论】:

    标签: java eclipse exception


    【解决方案1】:

    简单的答案是你不能。

    更长的答案是:

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

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

    • 考虑到大多数语句可能(理论上)抛出或传播异常,例如 NullPointerExceptionArrayIndexOutOfBoundsExceptionOutOfMemoryError 等,您也不希望它这样做。

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

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

          【讨论】:

            【解决方案5】:

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

            【讨论】:

              【解决方案6】:

              不是 eclipse 会“抱怨”异常。

              Checked and Unchecked Exceptions in Java

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2010-12-19
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多