面试题: 请你说一下对受检异常和非受检异常的理解?
也就是说,除了 RuntimeException
和其子类,以及error
和其子类,其它的所有异常都是 checkedException
。
考察目的: 异常的设计,在程序开发中时非常重要的。好的异常设计能够合理清晰的反馈程序的问题,提供排查思路。同时,还能够很好的处理资源回收问题。所以作为有经验的程序员,必须要了解异常,以及异常的差异和特性。
考察人群: 工作3年以上,3年左右一般都会参与项目中部分核心代码的编写。
在Java中,所有的异常都继承自java.lang.Throwable
,Throwable有两个直接子类,Error和Exception,如图所示。
Throwable 类是 Java 语言中所有错误(errors)
和异常(exceptions)
的父类。只有继承于Throwable
类或者其子类的异常才能够被抛出.
下面分别解释一下这些异常以及特性。
Error错误
Error通常是程序无法处理的错误,这些错误大多数与代码编写者执行的操作无关,并且它们是无法被捕获的,因为它们在应用程序的控制和处理能力之外,比如。