JavaSE复习之九 基础知识:异常处理

异常



一、概念
Java的异常机制:
1) 执行到引起异常的语句时,生成异常对象(记录异常信息),并抛出;
2) 寻找catch语句,若找到则执行catch语句,异常到此为止;
3) 若找不到,继续上抛,直到找到;
4) 如在main方法中还未找到,程序中断;
5) 每抛出一层,结束本层程序。

异常分类:
1) 运行时异常:RuntimeException类及其子类,可通过编译。
2) 受检查异常:除去RuntimeException类及其子类外,其他的Exception类及其子类都属于受检查异常。

异常的处理方式:
a. try\catch(finally):捕获异常;
b. throws:抛出异常(异常未处理,只是保证编译能够通过);

异常处理的语法结构:
try{
                                // 可能发生异常的代码
}catch(xx Exception 变量名){     // 发生异常时执行,catch由上而下执行,因此必须由小到大,catch语句块不能为空
                                // 异常处理语句
}finally{
                                // 一定会执行的代码
}
                                // throws用于向上抛出异常,但是不处理异常


二、特性
1) try代码块不能脱离catch代码块或finally代码块而单独存在。try代码块后面至少有一个catch代码块或finally代码块;
2) try代码块后面可以没有或有一个、多个catch代码块,还可以没有或有一个、多个finally代码块。若catch代码块和finally代码块
    并存,finally代码块必须在catch代码块后面;
3) try代码块后面可以只跟finally代码块;
4) 在try代码块中定义的变量的作用域为try代码块,在catch代码块和finally代码块中不能访问该变量;
5) 当try代码块后面有多个catch代码块时,JVM会把实际抛出的异常对象依次和各个catch代码块声明的异常类型匹配,若异常对象
    为某个异常类型或其子类的实例,就执行这个catch代码块,而不会再执行其他的catch代码块;
6) 若一个方法可能出现受检查异常,要么用 try...catch语句捕获,要么用throws子句声明将它抛出,否则会导致编译错误;
7) throw语句后面不允许紧跟其他语句,因为这些语句永远不会被执行;

说明:
        异常处理的合适位置应该遵循的规则:谁知道谁处理,谁负责谁处理,谁导致谁处理。


三、应用














修订:


参考:


注:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

光明矢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值