首页 > 解决方案 > “在执行`catch`块之前,运行时会检查`finally`块。”,这是什么意思?

问题描述

来自关于异常处理的官方文档

catch执行块之前,运行时会检查finally块。

我觉得作者想说:“块在块finally之前执行catch”。

但是这段代码却相反:

try
{
    throw new Exception();
}
catch (Exception e)
{
    Console.WriteLine("In the catch block.");
}
finally
{
    Console.WriteLine("In the finally block.");
}
// Output:
// In the catch block.
// In the finally block.

那句话的真正含义是什么?

标签: c#exception

解决方案


这是文档中的“错误”。该问题已提交here

适当的catch块(如果有的话)在相同的 try-catch-finally 构造的潜在块之前执行。finally


推荐阅读