今天看一个Java SSH的面试题,题目大概意思是:try、catch中存在return语句,还会执行finally块吗?如果执行,是return先执行还是finally先执行?如果有多个return语句,结果如何? 看了以后我还真犯嘀咕,做了软件开发这些年,还没认真思考 ...
大家好,今天我们来讲一个笔试和面试偶尔都会问到的问题,并且在工作中不知道原理,也会造成滥用。 大家可能都知道,try 块用来捕获异常,catch块是处理try块捕获的异常,finally 块是用来关闭资源。一个try块后面可以跟多个catch块,如果后面一个catch块也不跟,就一定要跟一个finally 块。 结论 :当在try块遇到return语句时,finally语句块将在方法返回之前被执行 ...
2019-04-18 09:57 6 331 推荐指数:
今天看一个Java SSH的面试题,题目大概意思是:try、catch中存在return语句,还会执行finally块吗?如果执行,是return先执行还是finally先执行?如果有多个return语句,结果如何? 看了以后我还真犯嘀咕,做了软件开发这些年,还没认真思考 ...
假设代码顺序书写如下:try → catch → finally → 其他代码 则: 1、正常执行顺序:try → catch → finally → 其他代码 2、try,catch和finally和其他代码的执行条件 ...
Try-Catch-Finally语句块执行问题 记录一个今天某公司的面试问题,其实我问题回答对了,但是面试官问我动手验证过没有,这还真没有,纯理论,被怼惨了,希望自己能变得更强大。 Try-Catch-Finally语句块执行问题。 一起来看下面这串代码: 程序运行 ...
异常处理中,try、catch、finally的执行顺序,大家都知道是按顺序执行的。即,如果try中没有异常,则顺序为try→finally,如果try中有异常,则顺序为try→catch→finally。但是当try、catch、finally中加入return之后,就会有几种不同的情况出现 ...
try..catch..finally这个语法大家都很熟悉,就是捕捉异常、处理异常,面试中经常被问到的一个问题是:如果在try...catch中的某某地方return了,那么之后的某某步骤还会不会执行。今天就来用代码分析一下各种可能的执行情况,懒得看文章的话,直接看最后的总结,如果不明白再回 ...
如果try中没有异常,则顺序为try→finally,如果try中有异常,则顺序为try→catch→finally,但是当try、catch、finally中加入return之后,就会有几种不同的情况出现: 一:try中带有return 1、基本类型的情况下 ...
答案是不一定。存在很多特殊情况导致finally语句块不执行。如: 直接返回未执行到 finally 语句块 抛出异常未执行到 finally 语句块 系统退出未执行到 finally 语句块 等... 代码如下 来一道刷了进BAT的面试题? ...