Java 显示引发异常的所有函数
我正在开发一个Java程序,我想知道Eclipse中是否有某种工具可以指出引发异常的所有方法。我只是想确定我把它们都弄到手了 谢谢你的帮助Java 显示引发异常的所有函数,java,eclipse,exception,try-catch,Java,Eclipse,Exception,Try Catch,我正在开发一个Java程序,我想知道Eclipse中是否有某种工具可以指出引发异常的所有方法。我只是想确定我把它们都弄到手了 谢谢你的帮助 Dan首先,搜索关键词。“throw”关键字将出现在检测到错误条件或无法处理某些异常的代码中,而“throws”将是声明传递某些异常的方法 Eclipse可能无法找到所有抛出异常的方法,因为运行时异常不需要在“throws”子句中声明,并且可能由库调用抛出,在这种情况下,您也找不到“throw”。如果您忘记捕获选中的异常(extensesexception)
Dan首先,搜索关键词。“throw”关键字将出现在检测到错误条件或无法处理某些异常的代码中,而“throws”将是声明传递某些异常的方法
Eclipse可能无法找到所有抛出异常的方法,因为运行时异常不需要在“throws”子句中声明,并且可能由库调用抛出,在这种情况下,您也找不到“throw”。如果您忘记捕获选中的异常(extenses
exception
),代码将无法编译。如果您忘记捕获未经检查的异常(extensedRuntimeException
),这通常是更好的方法 如果您的程序在主方法(初始执行上下文)中捕获到异常,则会通知您是否抛出了某些异常,但未处理
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)和unchecked RuntimeException(unchecked RuntimeException)异常的概念,因此必须处理checked异常,这会通知异常,正确的程序应该尝试/catch/finally。但是unchecked通常会通知指示bug的情况,良好的实践和防御编程应该避免,因此您不必处理它。必须捕获选中的异常,以便Eclipse将告诉您这些异常。另一方面,未检查的异常(aka)是“不应该发生的”,大多数情况下是编程问题。因此Java不需要捕捉它们,而AFAIK Eclipse不会显示任何提示来告诉您潜在的问题(这可能更利于可见性) 您可以阅读一篇文章,其中Oracle给出了其关于未检查异常的想法
如果您想自己构建一些东西,请查看的
Direct Known Subclass
,它将帮助您识别可以抛出而不会被捕获的异常。查找编译器错误。每当你错过这些东西时,编译器就会帮助你。通常的“查找用法”工具可能会帮助你。也就是说,这就是Java中检查异常的用途。你能给我举个例子吗?假设:String s=“1”int i=Integer.parseInt(s);我怎么会发现它会抛出?我只是想确保我使用的所有方法在抛出异常时都能捕获异常,我不知道抛出的所有方法。谢谢你的帮助!我知道这不应该发生,我只是想确保在发生的情况下,我能处理好它们。看来我需要确保检查我使用的每一种方法!谢谢@丹宁382不客气。现在的问题是:是花时间处理每个异常更好,还是花时间确保您的方法不会抛出这些异常更好完全同意你的意见。最好花点时间确保我没有抛出异常。我想我只是把它看作是“如果我因为任何原因不得不这样做,你会怎么做?”因为我只是在学习。再次感谢!