Java异常处理详解

关键字

Java中的异常处理机制由关键字:try catch finally throw 和 throws组成。

异常类型

Java可抛出的结构分为三种类型:被检查的异常CheckedException,运行时异常RuntimeException和错误Error

运行时异常(RuntimeException)

定义:RuntimeException及其子类都被称为运行时异常
特点:Java编译器不会检查他,也就是说,当程序中可能出现这类异常时,没有通过throws显式的声明抛出它,也没有用try-catch捕获它,还是会编译通过。例如当除数为0时产生的ArithmeticException,数组越界产生的IndexOutOfBoundsException,某一个引用为空的NullPointerException等,都属于运行时异常。

常见的运行时异常有:

1.NullPointerException 空指针引用异常
2.ClassCastException 类型强制转换异常
3.IllegalArgumentException 传递参数非法异常
4.ArithmeticException 算数运算异常
5.ArrayStoreException 向数组中存放与声明类型不匹配的对象异常
6.IndexOutOfBoundsException 数组下标越界异常
7.NegativeArraySizeException 创建一个大小为负数的数组错误异常
8.NumberFormatException 数字格式异常
9.SecurityException 安全异常
10.UnsupportedOperationException 不支持的操作异常

被检查异常

定义:Exception类本身,以及Exception的子类中除了运行时异常之外的其他子类都属于被检查异常
特点:Java编译器会检查它,此类异常要么通过throws进行声明抛出,要么通过try-catch进行捕获处理,而不能通过编译,例如IO异常中IOException就可能在读写文件时发生,但发生的本身是不预期的,所以Checked异常需要程序显式的处理,虽然大多数情况下这个异常不会真的发生。

常见的被检查异常

IOException IO异常
FileNotFoundException 文件不存在
SQLException SQL异常

错误

定义:Error及其子类
特点:和运行时异常一样,编译器不会对其进行检查,当资源不足,约束失败,或其他条件使程序无法继续运行时,就会产生错误,程序本身无法修复这些错误。例如,VirtuaMachineError就属于错误,出现这种情况就会导致程序终止,OutOfMemoryError ThreadDeath

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值