是否有一个表列出了Java中的对象可以抛出的所有异常?例如,扫描仪

时间:2015-01-16 02:36:13

标签: java exception

如何知道对象可以在Java中抛出的所有异常?例如,Scanner。

3 个答案:

答案 0 :(得分:1)

这并不简单。如果对象方法在javadoc注释中具有@throws且准确且最新,则Javadocs有时可以提供帮助。如果您可以访问该类的代码,则可以查看任何throw语句以查看直接抛出的内容。但是对于大多数类,将抛出的异常将来自类使用的对象,而不是类本身。对于Scanner的示例,它可能是一个低级IO原语,它将抛出异常,而不是Scanner本身的方法。

答案 1 :(得分:0)

只会添加其他人的答案。是的,Javadocs将是一个很好的来源,但是没有办法得到这些对象抛出的所有异常的完整列表。请记住,RuntimeExceptions及其子类也可以在代码流中的任何位置进行,并且不必在throws子句中声明它们。

如果您在调用方法时要谨慎,可以将调用包裹在try-catch中并捕获Exception。如果您希望尽可能彻底,可以尝试捕获Throwable,但不建议这样做。请参阅:Is it a bad practice to catch Throwable?

答案 2 :(得分:0)

没有。没有确定的表格。 Java运行时环境中包含的类通常是您感兴趣的类的单个Javadoc中的文档(例如Scanner)。但Java并不是一个封闭的生态系统,许多应用程序包括第三方库(不同质量的文档)。

从更一般的意义上讲,如果它被检查Exception,编译器(或IDE)会告诉您是否处理它。如果它未经检查Exception,则可能会或可能不会记录。

相关问题