gpt4 book ai didi

java - `return value' 来自 Java 中的构造函数异常?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:02:53 24 4
gpt4 key购买 nike

看看下面的代码片段:

A a = null
try {
a = new A();
} finally {
a.foo(); // What happens at this point?
}

假设 A 的构造函数抛出运行时异常。在标记的行,我是否总是保证会得到 NullPointerException,或者 foo() 将在半构造的实例上被调用?

最佳答案

try block 中的代码包含两个不同的操作:

  1. 创建一个新的 A 实例。
  2. 将新实例分配给名为 a 的变量。

如果第1步抛出异常,第2步将不会执行。
因此,您将始终得到一个 NullPointerException

关于java - `return value' 来自 Java 中的构造函数异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2474267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com