gpt4 book ai didi

java - 在 Java 中尝试 catch——发生异常时会发生什么?

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

我有一个关于 Java 中的 try/catch 和异常的问题。我知道这应该是基本知识,但我想我错过了一部分对其工作原理的理解。例如,给定此代码:

String res = "";

try {
res = methodThatCanThrowException();
res = res + ".txt";
} catch (Exception e) {
res = "somethingwentwrong.txt";
}

return res;

我能保证永远不会在 try 和 catch block 中设置“res”吗?如果在 try block 中的方法调用内部抛出异常,代码控制会直接转到 catch block ,对吗?有没有在 try 和 catch block 中都给“res”赋值的场景?

最佳答案

如果 methodThatCanThrowException 抛出异常,res 将不会在 try block 中分配,所以只有 catch block 会分配它(假设你修复了你的 catch block )。

但是,即使在 res 已经赋值后抛出异常,catch block 也会用新值覆盖它,所以它是否被两者赋值都没有关系。

关于java - 在 Java 中尝试 catch——发生异常时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33646902/

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