Throwable、Exception、Error分析

一、Exception和Error的异同

  • Error和Exception都继承了Throwable类,而只有继承了Throwable类的才能抛出或者捕获异常。
  • Exception是java程序运行中可以预料的意外情况,可以并且应该被捕获。
  • Error指正常情况不可能出现的错误,一旦出现,程序将进入不正常,不可恢复状态,且无法被捕获。常见的如:栈移除,内存溢出,线程死亡等。

二、Execption分类

  • 可检查异常:可检查异常必须在代码中显式的捕获,这是编译期工作的一部分,不然无法通过编译。

  • 不可检查异常:不可检查即意味着编译期检测不出来的异常,此类异常是运行时异常(RuntimeExecpiton,除此异常外都是可检查异常)。

三、Throwable常见子类类图

Throwable、Exception、Error分析_第1张图片

四、常见异常类

RuntimeExecption-不可检查异常

类名 介绍
ClassCastExecption 类型转换异常
StringIndexOutofBoundsExecption 字符串索引越界
ArrayIndexOutofBoundsExecption 数组索引越界
NullPointerExecption 空指针异常
NumberFormatExecption 转换数字异常

可检查异常

类名 介绍
NoSuchFieldExecption 找不到字段
NoSuchMethodExecption 找不到方法
ClassNoFoundExecption 找不到类
IOExecption IO异常
IOExecption-EOFExecption 文件已结束
IOExecption- FieldNotFoundExecption 文件未找到
SQLExecption SQL异常

五、Error类

类名 介绍
ThreadDeath 线程死亡
VirtualMachineError 虚拟机异常
VirtualMachineError-StackOverFlowError 栈溢出异常
VirtualMachineError-OutofMemoryError 内存溢出异常

觉得还行给点个赞吧~
梦在远方,路在脚下,加油!
2019.11.5

你可能感兴趣的:(java)