gpt4 book ai didi

c# - 抛接逻辑

转载 作者:太空狗 更新时间:2023-10-30 00:21:47 26 4
gpt4 key购买 nike

try
{
try
{
throw new Exception("From Try");
}
catch
{
throw new Exception("From Catch");
}
finally
{
throw new Exception("From Finally");
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

以上代码的输出是:From Finally

为什么不是 From Catch

-或-

我如何从外部捕获和记录这两个异常?

最佳答案

因为 finally block 在 catch block 之后执行,覆盖了异常。

并且当在处理较早的异常时发生异常,第一个异常将丢失。

How can i catch & log from outside both exceptions?

  1. 通过 将 finally block 放入。这总是一个坏主意。
  2. 如果您想登录内部 catch block ,请使用 throw; 或将第一个异常作为新异常的 InnerException 传递。这就是 InnerException 存在的原因。

关于c# - 抛接逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3826366/

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