根据上图,我们可知,在Java中,所有的异常(包括错误)都有一个共同的祖先Throwable
类。其下有两个重要的子类Exceptions
和Errors
Exceptions:
程序自身可以处理的异常,可以通过catch
的方式捕捉,通常遇到异常时,对其进行处理,从而使程序正常运行(事物)。Exceptions
又分为运行时异常(RuntimeException
,又叫非受检查异常)和非运行时异常(又叫检查异常);
Errors
程序自身不能处理的异常,不能通过catch
的方式捕捉。例如:系统崩溃、内存不足、堆栈溢出等。编辑器不会对这类错误进行检测,一旦错误发生,程序便被终止,仅靠程序自身,永远也不会恢复