第六章:异常处理。

第六章:异常处理。

一.异常的概念:概念程序执行过程中,出现非正常的情况,最终会导致JVM的非正常停止。

二.异常的继承体系:

三.异常的类型:

(1)Error:Error类是Throwable的一个子类,代表错误。该体系描述了Java运行系统中的内部错误及资源耗尽的情形,该错误是由java虚拟机抛出的,如果发生,除了尽力使程序安全退出外,在其他方面是无能为力的。
(2)Exception:Exception类是Throwable的另一个重要子类,它规定的异常是程序自身可以处理的异常。
*注:异常和错误的区别在于异常是可以被处理的,而错误是不能够被处理的。
(3)常见异常:RuntimeException(运行时异常)、CheckedException(非运行时异常/可检查异常)、ArithmecticException(算术异常)、NullPointerException(空指针异常)、ClassCastException(类型转换异常)、IndexOutOfBoundsException(越界异常)、IllegalArgumentException(非法产数异常)、ArryStoreException(叔祖储存异常)、BufferOverflowException(缓冲区溢出异常)。

四.异常的处理

(1)使用try—catch—finally处理异常,格式如下:
try{
    //程序代码块
}catch(异常类型 e){
    //对捕获的异常经行处理
}finally{
    //代码块
}
其中try中的”程序代码块“指的是可能产生异常的代码块;catch中的”对捕获的异常经行处理“作用是,捕获并处理与catch中定义的异常里类型相匹配的异常对象e,catch可以有多个,每个catch块可以处理相应的异常类型;finally中的代码块是异常处理中最后被执行的代码块,无论程序是否产生异常,finally中的代码块都会执行,实际开发中,finally中常是一些资源释放或对象关闭的代码。
(1)使用throws关键字抛出异常,格式如下
数据类型 方法名(形参列表) throws 异常类1,异常类2,...,异常类n{
    方法体
}
该声明表示相应方法不处理异常,而交给方法的调用者经行处理。因此,不管方法是否发生异常,调用者都必须进行异常处理。
(2)使用throw关键字抛出异常,格式如下:
throw new 异常对象();
除了可以通过throws关键字抛出异常,还可以使用throw关键字来实现。与throws不同throw用于方法体内,且抛出的是异常类对象。throws用于方法签名上,可以抛出多种异常。
通过throw关键字抛出异常后,还需要使用throws关键字向方法外抛出,或者使用try-catch进行异常处理。如果throw抛出的是Error、RuntimeException或者他们的子类异常对象,则不用throw关键字向外抛出和try-catch经行处理。

五.自定义异常类:

(1)在程序中使用自定义异常类的步骤:
1.创建自定义异常类并继承Exception基类。如果自定义Runtime类,则继承RuntimeException基类。
2.在方法中使用throw关键字抛出异常对象。
3.如果在当前抛出异常的方法中处理异常,可以使用try-catch语句块捕获并处理,否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常。
4.在调用可能会出现异常方法的语句处进行捕获并处理异常。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值