我正在开发一个 Java 程序,我想知道 Eclipse 中是否有一些工具可以指出所有引发异常的方法。我只是想确保我得到了所有这些。
谢谢您的帮助,
担
必须捕获已检查的异常,以便 Eclipse 告诉您它们。另一方面,未经检查的异常(又名RuntimeException)是“不应该发生的”,大多数情况下是编程问题。因此,Java 不需要捕获它们,AFAIK Eclipse 不会显示任何提示来告诉您潜在的问题(它可能更好地提高可见性)。
您可以阅读Unchecked Exceptions — The Controversy,这篇文章 Oracle 给出了它对unchecked 异常的看法。
如果您想自己构建一些东西,请查看RuntimeExceptionDirect Known Subclasses
,它将帮助您识别可以抛出而不会被捕获的异常。
如果您的程序在 main 方法(初始执行上下文)中捕获到异常,您将被告知是否抛出了一些异常但未处理。
public static void main(String[] args) {
try {
// .... anything you want to do
} catch(Exception e) {
e.printStackTrace(); // useful to visualize the stack trace and ping point others places to catch exceptions
} catch(Throwable t) {
// if you want to check for errors also, but generally there isn't much to do in this case
}
}
附带说明一下,由于 Java 实现了已检查(异常)和未检查的 RuntimeException)异常的概念,因此必须处理已检查的异常,这会告知正确的程序应该尝试/捕获/最终处理的异常。但是未经检查的通知通常指示错误的情况,并且应该避免良好的做法和防御性编程,因此您不必处理它。
首先,搜索关键词。“throw”关键字将出现在检测错误条件或无法处理某些异常的代码中,而“throw”将是声明它们传递某些异常的方法。
Eclipse 可能无法找到所有抛出异常的方法,因为运行时异常不需要在“抛出”子句中声明,并且可能由库调用抛出,在这种情况下您也找不到“抛出”。
如果您忘记捕获已检查的异常(扩展Exception
),则代码将无法编译。如果您忘记捕获未经检查的异常(扩展RuntimeException
),那通常是更好的方法。阅读