前段时间有朋友问我异常执行顺序问题,这里简单记录下哈。
伪代码描述,当j=0和j=1,输出结果分别是什么?
int i = 0;
int j = 0或1;
try {
j = i / j;
System.out.println(i);
return i++;
} catch (Exception e) {
System.out.println(i);
return ++i;
} finally {
System.out.println(i);
}
talk is cheap, show me the code!
当j=0时候,输出结果为
0
1

当j=1时候,输出结果为
0
1

总结:当j=0或j=1,结果都是一样,j=0先走catch再走finally。
j=1,不走catch,最后走finally。
0
1
文章通过一个包含try-catch-finally结构的伪代码示例,解释了当j等于0和1时,程序的执行流程和输出结果。在j=0时,会触发除零异常,执行catch块后再执行finally块;而j=1时,程序正常执行,不进入catch块,最后执行finally块。无论哪种情况,finally块总会被执行。
145

被折叠的 条评论
为什么被折叠?



