Java面试中,如何区分Exception与Error的本质差异?

2026-05-28 00:350阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2097个文字,预计阅读时间需要9分钟。

Java面试中,如何区分Exception与Error的本质差异?

前言+众所周知,没有BUG的程序只会出现在程序员的梦中,异常情况如影随形,缠着我等。只有正确处理异常情况,才能保证程序的可靠性。Java语言在设计之初就提供了相对完善的异常处理机制。

前言

众所周知,没有 BUG 的程序只会出现在程序员的梦里,异常情况如影随形地纠缠着我们,只有正确处理好意外情况,才能保证程序的可靠性。

Java 语言在设计之初就提供了相对完善的异常处理机制,这也是 Java 得以大行其道的原因之一,因为这种机制大大降低了编写和维护可靠程序的门槛。如今,异常处理机制已经成为现代编程语言的标配。

请对比 Exception 和 Error,另外,运行时异常与一般异常有什么区别?

常见回答

​​Exception​​ 和 ​​Error​​ 都是继承了 Throwable 类,在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。

​​Exception​​ 和 ​​Error​​ 体现了 Java 平台设计者对不同异常情况的分类。

​​Exception​​ 是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,进行相应处理。

​​Error​​ 是指在正常情况下,不大可能出现的情况,绝大部分的 ​​Error​​ 都会导致程序(比如 JVM 自身)处于非正常的、不可恢复状态。既然是非正常情况,所以不便于也不需要捕获,常见的比如 OutOfMemoryError 之类,都是 ​​Error​​ 的子类。

阅读全文

本文共计2097个文字,预计阅读时间需要9分钟。

Java面试中,如何区分Exception与Error的本质差异?

前言+众所周知,没有BUG的程序只会出现在程序员的梦中,异常情况如影随形,缠着我等。只有正确处理异常情况,才能保证程序的可靠性。Java语言在设计之初就提供了相对完善的异常处理机制。

前言

众所周知,没有 BUG 的程序只会出现在程序员的梦里,异常情况如影随形地纠缠着我们,只有正确处理好意外情况,才能保证程序的可靠性。

Java 语言在设计之初就提供了相对完善的异常处理机制,这也是 Java 得以大行其道的原因之一,因为这种机制大大降低了编写和维护可靠程序的门槛。如今,异常处理机制已经成为现代编程语言的标配。

请对比 Exception 和 Error,另外,运行时异常与一般异常有什么区别?

常见回答

​​Exception​​ 和 ​​Error​​ 都是继承了 Throwable 类,在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。

​​Exception​​ 和 ​​Error​​ 体现了 Java 平台设计者对不同异常情况的分类。

​​Exception​​ 是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,进行相应处理。

​​Error​​ 是指在正常情况下,不大可能出现的情况,绝大部分的 ​​Error​​ 都会导致程序(比如 JVM 自身)处于非正常的、不可恢复状态。既然是非正常情况,所以不便于也不需要捕获,常见的比如 OutOfMemoryError 之类,都是 ​​Error​​ 的子类。

阅读全文