java处理异常之后程序会如何执行

java处理异常之后程序会如何执行

问题产生:当产生异常后,并在异常处理器中进行执行之后,程序会是如何的一种状态,是终止还是继续执行处理之后的代码呢?

先上代码:
例子
由以上的代码我们可以知道在抛出异常之后的代码都会被编译器视作无用的代码,进一步会显示的报错。因此更谈不上之后的代码可以执行了。
进一步修改之后,我们采用以下的代码进行测试
例子
例子
可以得出以下的结果:
例子
从结果中我们可以看出,当主程序(main)捕获到异常之后,会进一步进行处理,随之处理完之后会进一步执行之后的代码。

接下来我们看另一种情况:
例子
我们将对第一种的异常放在其他的类方法种进行捕获,我们从上图可以看出throw new Exception(“第二种异常哈”)之后的代码仍然视为无用。接着我们在主程序(在另一个类中)进行调用当前的方法并对其进行捕获。
例子
运行程序得出以下的结果:
例子
我们可以看出在第一种异常捕获之后并抛出第二种异常时,并不会去执行其后的代码,finally里面的代码除外。

由此,就最开始的问题以及之后的分析,我们可以得出以下的结论:

  1. 在同一个作用域下,throw抛出异常之后的代码都视为无用,这个会被编译器显示的报错。
  2. 当前作用域下的无抛出异常,当捕获了异常并处理之后,其后的代码会继续执行下去

以上都针对于检查型异常而言的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值