小编典典

错误和异常有什么区别

all

如何区分 Java 中的错误和异常?


阅读 137

收藏
2022-07-27

共1个答案

小编典典

错误“表明合理的应用程序不应试图捕获的严重问题”。

尽管

异常“表示合理的应用程序可能想要捕获的条件”。

错误RuntimeException及其子类是unchecked例外。所有其他异常类都是checked异常。

检查
的异常通常是程序可以从中恢复的异常,以编程方式从此类异常中恢复可能是个好主意。示例包括FileNotFoundException,ParseException等。程序员应使用
try-catch 块检查这些异常或将其返回给调用者

另一方面,我们有 未经检查
的异常。如果一切正常,这些例外情况可能不会发生,但确实会发生。示例包括ArrayIndexOutOfBoundException,ClassCastException等。许多应用程序将使用try- catchorthrows子句来表示RuntimeExceptions&
他们的子类,但从语言的角度来看,这不是必需的。请注意,RuntimeException通常可以从 a
中恢复,但设计类/异常的人认为最终程序员没有必要检查此类异常。

错误 也是未经检查的异常,程序员不需要对这些做任何事情。事实上,try- catch对错误使用子句是个坏主意。大多数情况下,从错误中恢复是不可能的,应该允许程序终止。示例包括OutOfMemoryError,StackOverflowError等。

请注意,虽然错误是未经检查的异常,但我们不应该尝试处理它们,但可以RuntimeExceptions在代码中处理(也是未经检查的异常)。已检查的异常应由代码处理。

2022-07-27