含有return的try catch finally 异常嵌套测试总结

来源:互联网 发布:默纳克蓝牙调试软件 编辑:程序博客网 时间:2024/06/06 21:05
try {Atry {B} catch {C} finally {D}E} catch {F} finally {G}


如果内部E中无return
A异常:A-F-G
B异常:
         C能捕获:A-B-C-D-E-G
         C不能捕获:A-B-D-F-G(无E
C异常:A-B-D-E-G
D异常:A-B-D-F-G(无E
E异常:A-B-D-E-F-G
F异常:A-B-D-E-G
G异常:继续向外抛出
 
如果内部E中有return
只有B(能捕获)和C会执行return,因为只有它们会执行E
 
如果return在finally前
如果finally代码块前面有return,仍然会执行finally代码块


阅读全文
0 0