Throwable、Exception、Error分析

2022-09-10 13:38:27

一、Exception和Error的异同

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

二、Execption分类

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

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

三、Throwable常见子类类图

Throwable

四、常见异常类

RuntimeExecption-不可检查异常

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

可检查异常

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

五、Error类

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


  • 作者:我不掉头发
  • 原文链接:https://blog.csdn.net/a936687045/article/details/102917582
    更新时间:2022-09-10 13:38:27