Java异常层次与异常分类

Java异常层次与异常分类

一、Java的异常层次
Java的异常层次如下图所示:
Java异常层次与异常分类_第1张图片
Java简化的异常层次结构如上,需要注意的是所有类都是从Throwable继承而来,下一层则分为两个结构,Error和Exception。
Error类层次描述了Java运行时系统的内部错误和资源耗尽错误,这种错误除了简单的报告给用户,并尽力阻止程序安全终止之外,一般没有别的解决方法。

二、Java的异常分类:checked异常与Runtime异常
Java异常层次与异常分类_第2张图片

  1. Runtime异常(unchecked异常)
    Runtime异常是runtime阶段碰到的异常,在编译的时候不需要检查。例如数组脚本越界(ArrayIndexOutOfBoundsException),空指针异常(NullPointerException),类转换异常(ClassCastException)等。
    Java中将派生于Error或RuntimeException的异常称为unchecked异常。
  2. Checked异常
    编译器强制checked异常必须try…catch处理或用throws声明继续抛给上层调用方法
    Java异常层次与异常分类_第3张图片
    两者的区别:Runtime异常可以处理也可以不处理,编译器不会强制用try…catch或用throws声明,而Checked异常则需要

资料参考:Checked异常与Runtime异常
详解Java中的checked异常与unchecked异常

你可能感兴趣的:(Java,Java异常,异常层次,异常分类)