异常

在这里插入图片描述
Throwable类是所有异常的超类。它有两个子类Error和Exception。

Error类及其子类由Java虚拟机生成并抛出,包括动态链接失败、虚拟机错误等。Java程序不应捕获这些异常。

Exception类及其子类代表Java程序中可能发生的异常,并且应用程序可以捕获这些异常。

Java将异常分成两种类型:编译时检查性异常(checked exception)和非检查性异常(unchecked exception,又称运行时异常)。

对于检查性异常,在程序中必须对其进行处理,否则编译器会指出错误。对于非检查性异常,程序中可以不做处理,直接由运行时系统来处理。编译器要求Java程序必须捕获或声明所有的编译时异常(或称非运行时异常)。

Runtime Exception异常时Java虚拟机在运行时生成的异常,如被零除等系统错误、数组下标超范围等,其产生比较频繁,处理麻烦,对程序可读性和运行效率影响很大。因此由系统检查,用户可不做处理,系统将它们交给缺省的异常处理程序。当然,必要时,用户可对其进行处理。

常见的异常:
ArithmeticException:算术运算溢出。如除数为零。
ArrayIndexOutOfBandsException:数组下标越界异常。
ArrayStoreException:数组储存异常。数组复制时,若源数组和目标数组的类型不一致时,导致异常。
NullPointerException:空指针异常。
NumberFormatException:数据格式异常。将字符串(含有非数字)直接转换成数值时产生。
OutOfMemoryException:内存溢出异常。在创建一个对象时,由于申请的内容空间过大,导致系统内存不够。
IOException:输入/输出中的异常。
FileNotFoundException:文件找不到异常。
NoClassDefFoundException:没有找到类定义时的异常。

异常的捕获处理:try、catch、finally
try:指定一段代码,这段代码就是一次捕获并处理异常的范围。
catch:用于捕获try代码块所产生的异常,并做出相应的处理。
finally:通常finally语句中可以进行资源的清除工作,如关闭打开的文件等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值