【发布时间】:2017-10-25 02:31:29
【问题描述】:
是否有任何关键字或特殊语法的代码,如果我查看它,我会知道这里使用的是未经检查的异常还是使用了已检查的异常?
通过阅读之前提出过这个问题的帖子,在我看来,知道它是检查还是未检查的唯一方法是查看异常是扩展 Exception 还是 RuntimeException。
真的只有这样才能知道吗?因为我认为编写未检查和检查异常的语法也应该不同,但我不确定要查找什么。
【问题讨论】:
-
您正在使用检查异常的 sign 是您有
try/catch块或方法在签名中有throws。这不是万无一失的,因为您也可以捕获/抛出未经检查的异常;并且您可以“过度捕获”/“过度抛出”过于广泛的异常(例如,当实际上仅抛出 RuntimeException 时,您可以捕获/抛出异常);但由于您必须对已检查的异常执行其中一项操作,这表明它们可能正在被使用。 -
我的问题是你为什么想知道?知道这些信息会对您产生什么影响?是单纯的学习区别,还是有更实际的目的?
-
查看它是否扩展了 RuntimeException 或 Error。这些是唯一不受检查的事情。没有关键字或不同的语法。
-
老实说,我想知道的原因是因为我的作业要求证明我在代码中使用检查或未检查异常的原因。但是,在我写完代码(并且它可以工作)之后,我不知道我所做的事情是经过检查还是未经检查,因为我仍然不明白其中的区别。
-
显示您的代码。
标签: java exception checked-exceptions unchecked-exception