Java中的异常

Java异常分类

所有异常的根类为java.lang.Throwable,Throwable下面又派生了两个子类:

  • Error
  • Exception

Error

Error表示应用程序本身无法克服和恢复的一种严重问题,程序只有死的份了。例如,内存溢出和线程死锁等系统问题。

Exception

Exception表示程序还能够克服和恢复的问题,其中又分为2类

  • 系统异常:是软件本身缺陷所导致的问题,也就是软件开发人员考虑不周所导致的问题,软件使用者无法克服和恢复这种问题,但在这种问题下还可以让软件系统继续运行或者让软件死掉。例如,数组下标越界(ArrayIndexOutOfBoundsException),空指针异常(NullPointerException)、类转换异常(ClassCastException)。
    • 编译器不强制用try…catch处理或用throws声明,也称为unchecked异常。
  • 普通异常:是运行环境的变化或异常所导致的问题,是用户能够克服的问题,例如,网络断线,硬盘空间不够,发生这样的异常后,程序不应该死掉。
    • 编译器强制普通异常必须try…catch处理或用throws声明继续抛给上层调用方法处理,也称为checked异常。

常见错误与异常

Error:

  • OutOfMemoryError:内存溢出
  • StackOverflowError:栈溢出

RuntimeException:

  • ClassCastException:类型转换异常
  • IndexOutOfBoundsException:数组越界
  • NullPointerException:空指针
  • ArrayStoreException:数据存储异常,操作数组时类型不一致
  • BufferOverflowException:缓存区溢出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值