gpt4 book ai didi

c# - 有没有办法知道 finally 是在 try 还是 catch 之后执行的?

转载 作者:行者123 更新时间:2023-11-30 19:10:43 25 4
gpt4 key购买 nike

我认为标题解释了我的全部问题。

我想知道,如果它来自 trycatch,我在 finally 语句中执行代码的位置。

这可能吗?

最佳答案

嗯,最简单的方法是:

bool success = false;
try
{
...
// This should be the last statement in the try block
success = true;
}
catch(...)
{
...
}
finally
{
if (success)
{
...
}
}

这不是一个特定的语言特性——它只是利用了这样一个事实,即除了真正的特殊情况(基本上是异步异常),你不会在赋值后发生异常成功

请注意,successfalse 并不意味着您的任何 catch block 已执行 - 可能是抛出了异常你没有捕捉到(或者你在 try block 结束之前返回)。基本上它表示“已到达try block 的末尾”——这通常是所有需要的。

关于c# - 有没有办法知道 finally 是在 try 还是 catch 之后执行的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16101221/

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