Java异常的分类及关系

(Java)异常概述总结

所有异常的根类是java.lang.Throwable,下面有两个子类Error和Exception。

Error是程序本身无法克服恢复的严重问题。Exception是程序可以克服的异常。Exception分为系统异常和普通异常。

系统异常是软件本身开发的问题,通常需要改动代码才能解决问题,这种情况,程序使用者是无法感知并控制的。

普通异常是运行环境等问题造成的,这种情况是可以控制并作处理。

受检异常与非受检异常

普通异常是需要使用try..catch捕获异常,或用Throws抛给上层调用者处理,否则编译器是无法编译通过的。而系统异常是不强制捕获的,用户可以通过日志打印的堆栈信息定位问题所在。普通异常又称为受检(checked)异常,系统异常称为非受检(unchecked)异常。

RuntimeException与Error都是非受检异常,其他都是受检异常。

常见RuntimeException

1)java.lang.NullPointerException 空指针异常;出现原因:调用了未经初始化的对象或者是不存在的对象。
2)java.lang.ClassNotFoundException 指定的类找不到;出现原因:类的名称和路径加载错误;通常都是程序
试图通过字符串来加载某个类时可能引发异常。
3)java.lang.NumberFormatException 字符串转换为数字异常;出现原因:字符型数据中包含非数字型字符。
4)java.lang.IndexOutOfBoundsException 数组角标越界异常,常见于操作数组对象时发生。
5)java.lang.IllegalArgumentException 方法传递参数错误。
6)java.lang.ClassCastException 数据类型转换异常

相关文章:

  • 2021-10-15
  • 2021-08-30
  • 2021-11-03
  • 2021-12-14
  • 2021-11-08
  • 2021-12-03
  • 2019-08-29
  • 2021-11-07
猜你喜欢
  • 2022-01-02
  • 2021-08-26
  • 2021-10-15
  • 2021-11-08
  • 2021-11-08
  • 2021-11-16
  • 2021-09-29
相关资源
相似解决方案