异常中关于捕获方法内finally如何使用案例说明

package com.itheima.sh;


//创建一个TryCatch类,包含一个show()方法
class TryCatch {
public int show(int x) {
// 通过alt+shift+z快捷键捕获异常:
try {
if (x == 0) {
throw new Exception("x是零");
}
// if语句判断异常后立即将异常抛出并由catch捕获,后面同级别代码不再执行
System.out.println("try.....");
x++;
return 1;
} catch (Exception e) {
// 捕获异常后执行catch里的所有语句
System.out.println("捕获异常");
x++;// x=1
return x;// 执行到该语句时会将x(此时x=1)传给return,但由于系统会检测到finally的存在,
// 因此会临时开辟一个空间暂时保存return x;语句,去执行finally内的语句体
} finally {
System.out.println("必须执行");
x++;// 此时x变成2,fianlly语句执行完毕,
// 重新执行catch里return x语句(由于x在变为2之前已经将1赋值到return
// x语句内),此时返回给show()方法的值为1
// 若finally语句体内有return 3;则返回值为3,不再执行行catch里的return x语句
}
}
}
//定义一个FinallyTest测试类,测试运行结果
public class FinallyTest {
public static void main(String[] args) {
//创建一个TryCatch类对象
TryCatch d = new TryCatch();
//调用TryCatch类中的show()方法,并给x赋值0;
int x = d.show(0);
//打印输出语句x
System.out.println(x);
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值