考虑下面的代码片断
运行结果:
在Finally代码块中
在Finally代码块中
在Finally代码块中
在Finally代码块中
在Try内部代码块,退出不执行Finally代码块
在运行代码前,它看起来像要打印 ”在Finally代码块中“ 5次。但是执行的结果只有4次。第五次打印的结果是 ”在Try内部代码块,退出不执行Finally代码块“。
1> try、catch、finally语句中,在如果try语句有return语句,则返回的之后当前try中变量此时对应的值,此后对变量做任何的修改,都不影响try中return的返回值
2> 如果finally块中有return 语句,则返回try或catch中的返回语句忽略。
3 >如果finally块中抛出异常,则整个try、catch、finally块中抛出异常
所以使用try、catch、finally语句块中需要注意的是
1> 尽量在try或者catch中使用return语句。通过finally块中达到对try或者catch返回值修改是不可行的。
2 >finally块中避免使用return语句,因为finally块中如果使用return语句,会显示的消化掉try、catch块中的异常信息,屏蔽了错误的发生
3 >finally块中避免再次抛出异常,否则整个包含try语句块的方法回抛出异常,并且会消化掉try、catch块中的异常
已有 22658 名学员学习以下课程通过考试
最需教育客户端 软件问题一手掌握
去 App Store 免费下载 iOS 客户端
点击加载更多评论>>