我正在研究一个Java程序,我想知道Eclipse中是否有一些工具可以指出所有抛出异常的方法。我只是想确保我得到了所有这些。
感谢您的帮助,
丹
答案 0 :(得分:1)
检查异常,以便Eclipse告诉您有关它们的信息。另一方面,未经检查的异常(又名RuntimeException)“不应该发生”,它大部分时间都是编程问题。因此,Java不需要捕获它们,AFAIK Eclipse不会显示任何提示来告诉您潜在的问题(可能更好的可见性)。
您可以阅读Unchecked Exceptions — The Controversy这篇文章,其中Oracle提供了关于未经检查的例外的精神状态。
如果您想自己构建一些内容,请查看RuntimeException的Direct Known Subclasses
,它将帮助您识别可以在不被捕获的情况下抛出的异常。
答案 1 :(得分:0)
首先,搜索关键字。 'throw'关键字将在代码中检测错误条件或无法处理某些异常,而'throws'将是声明它们传递某些异常的方法。
Eclipse可能无法找到所有抛出异常的方法,因为运行时异常不需要在'throws'子句中声明,并且可能被库调用抛出,在这种情况下你找不到'throw'任
答案 2 :(得分:0)
如果您忘记捕获已检查异常(扩展Exception
),则代码将无法编译。如果您忘记捕获未经检查的异常(扩展RuntimeException
),这通常是更好的方法。 Read Up
答案 3 :(得分:0)
如果您的程序在main方法(初始执行上下文)中捕获Exception,您将被告知是否抛出了一些异常但未处理。
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实现了checked(Exception)和未经检查的RuntimeException异常的概念,因此必须处理checked,这会通知正确的程序应该尝试/ catch / finally的异常。但是未经检查通知情况通常表明存在错误,良好做法和防御性编程应该避免,因此您不必处理它。