Checked Exception需要在编译时使用try,catch和finally关键字进行处理,否则编译器将标记错误

lanx86:

我对java的检查异常感到困惑

Checked Exception需要在编译时使用try,catch和finally关键字进行处理,否则编译器将标记错误

了解更多:http : //javarevisited.blogspot.com/2013/06/10-java-exception-and-error-interview-questions-answers-programming.html#ixzz3pk6OBSrj

我的问题是:我们都知道“ NoSuchMethodExcepion ”是检查异常,并考虑了上面的陈述,这是否意味着每当我尝试调用方法时,我都应该使用try,catch来包含这样的方法调用代码

try{
   callingMethod();
}
catch(Exception){
}

但实际上,我不需要这样做吗?那么,首先给出的声明的真正含义是什么?感谢您回答我的问题。

丹尼尔·普赖登:

NoSuchMethodException是的子类型ReflectiveOperationException,因此只能由使用反射的代码引发。对于像您的示例这样的普通方法调用,该方法不存在是编译时错误,因此您的代码根本不会编译。

如果使用一个版本的依赖项编译类,然后使用其他版本运行它,则在编译时存在的方法可能会消失。在这种情况下当执行代码时您会得到一个NoSuchMethodErrorError,不是Exception)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章