1、不能在finally块中执行return,continue等语句,否则会把异常“吃掉”;
2、在try,catch中如果有return语句,则在执行return之前先执行finally块
请大家仔细看下面的例子:
以下是引用片段:
public class TryTest {
public static void main(String[] args) {
try {
System.out.println(TryTest.test());// 返回结果为true其没有任何异常
} catch (Exception e) {
System.out.println("Exception from main");
e.printStackTrace();
}
doThings(0);
}
public static boolean test() throws Exception {
try {
throw new Exception("Something error");// 第1步.抛出异常
} catch (Exception e) {// 第2步.捕获的异常匹配(声明类或其父类),进入控制块
System.out.println("Exception from e");// 第3步.打印
return false;// 第5步. return前控制转移到finally块,执行完后再返回(这一步被吃掉了,不执行)
} finally {
[---分页---]
return true; // 第4步. 控制转移,直接返回,吃掉了异常
}
}
public static void doThings(int i)
{
try
{
if(i==0)
{
//在执行return之前会先执行finally
return;
}
int t=100/i;
System.out.println(t);
}catch(Exception ex)
{
ex.printStackTrace();
}
finally
{
System.out.println("finally");
}
}
重要提醒!!内容中联系方式并非本站联系方式,报名咨询的学员请与下面最新联系方式联系我们咨询报名-以免损失!
>>长期招聘兼职招生代理人员,项目合作,团报优惠咨询,有意者请联系我们 >>咨询:13312524700(可加微信)。
云南地州中心:◆咨询电话:0871-65385921、17787865775 冯老师、 王老师(微信报名:17787865775)
总部报名地址: ◆昆明市-五华区教场东路莲花财富中心10楼;网课试听:ke.xuekaocn.cn
地州分校: 大理分校 丽江分校 迪庆分校 怒江分校 红河分校 临沧分校 玉溪分校 文山分校 保山分校 德宏分校 昭通分校 普洱分校 版纳分校 【各地州学员请加老师微信咨询报名,电话(微信):133-1252-4700】;【2021年云南省成人高考>>立即报名】
职业技能考证:心理咨询师、健康管理师、茶艺师等更多>◆咨询电话:133 1252 4700(微信)
公考培训咨询:◆国考云南省考公务员/事业单位面授培训,咨询电话:133 1252 4700 (微信)