课程
/后端开发
/Java
/Java入门第三季
在try catch中,try catch之后的代码是一定要执行的,而try catch finally中,为什么要写finally呢?直接将finally中的代码写在异常处理块之后,不是一样会执行吗?
2017-01-16
源自:Java入门第三季 1-2
正在回答
因为在try块中执行到a=5/0时就被catch块捕获,并没有执行到return,程序一路执行下去感觉并没有区别。假如你在catch块中最后加入return,你会发现用finally的依旧执行,而直接写的会报错,提示无法执行。
通常情况下,一旦方法里执行到return语句的地方,程序立即结束该方法。因为finally块总会被执行,不管try块中是否出现异常,不管哪个catch块被执行,也不管try和catch块中执行了return语句。从而保证一定能回收try块中打开的物理资源。
彼时年少0 提问者
如果没有异常就不会执行catch块的内容
举报
Java中你必须懂得常用技能,不容错过的精彩,快来加入吧
3 回答异常处理的问题
3 回答异常处理问题
4 回答异常处理问题
3 回答关于ID输入非整数异常处理问题
3 回答异常处理: