考虑到此代码,我是否可以 绝对确定 该finally
块始终执行,无论它是什么something()
?
try {
something();
return success;
}
catch (Exception e) {
return failure;
}
finally {
System.out.println("I don't know if this will get printed out");
}
是的,finally
将在执行try
或catch
代码块后调用。
唯一finally
不会被调用的时间是:
System.exit()
Runtime.getRuntime().halt(exitStatus)
try
或catch
块中达到了无限循环(或其他不间断,不终止的语句)kill -9 <pid>
在UNIX上finally
块将由守护程序线程执行并且所有其他非守护程序线程在finally
调用之前退出问题内容: 下面是有趣的代码: 可以请人解释一下,什么结果将返回这两个函数并解释原因,即描述执行的顺序 问题答案: 从Python文档 无论是否发生异常,finally子句始终在离开try语句之前执行。如果try子句中发生了异常且未由except子句处理(或在except或else子句中发生),则在执行finally子句后重新引发该异常。 当try语句的任何其他子句通过break,continue
我声明了一个RESTendpoint,它使用调用另一个路由。在第二条路由的末尾,我记录了正文,但它与返回到浏览器的正文不同。 我知道拆分和过滤器正在工作,因为我在最后一行代码中记录了正文,这就是日志中出现的内容: 2021-04-28 18:15:15.707信息3905542---[nio-8080-exec-1]按ID搜索:{“ID”:“1”,“Tipo”:“PF”,“NOME”:“João
问题内容: 在Java中,尝试{…}最终{…}在我看来有点不直观。如另一个问题所示,“最终是否总是在Java中执行?,如果try块中有return语句,则在定义了finally块的情况下将忽略该语句。例如功能 将始终返回false。我的问题:这是为什么?Java做出的这种设计决策背后是否有特定的哲学?我感谢任何见解,谢谢。 编辑:我对“为什么” Java认为可以违反我定义的语义特别感兴趣。如果我在
问题内容: 请参见以下代码,并解释输出行为。 结果是返回Val:10。 Eclipse显示警告:。 catch块中的return语句会怎样? 问题答案: 它被中的一个覆盖,因为它在所有其他操作之后执行。 这就是为什么,经验法则- 永不从回归。例如,Eclipse显示了该代码段的警告:“最终阻止无法正常完成”
问题内容: 我以前使用过媒体播放器,但从未遇到过此问题。每当我尝试使用MediaPlayer.create()时,该方法都会使我为null,并且无法播放声音。有什么我想念的吗? 我的sound.mp3在我的原始文件夹中,通过将声音拖到eclipse中的文件夹中,我将其放置在其中。请帮忙,因为我以前玩过声音,所以这真的困扰我:( 问题答案: 如果create() API由于某种原因失败,则返回nul
问题内容: 尽管是有效的类,但以下代码会打印。 文档说方法返回 由 aClassName 命名的类对象,或者如果当前没有加载该名称的类。如果 aClassName 为,则返回。 我也试图获得当前的viewcontroller已加载但仍然得到 可能是什么问题? 更新: 即使尝试这样做,我仍然可以 问题答案: 该函数 确实 适用于(纯和Objective-C派生的)swift类,但是仅当您使用全限定名