c# - “在执行`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.
那句话的真正含义是什么?
解决方案
这是文档中的“错误”。该问题已提交here。
适当的catch
块(如果有的话)在相同的 try-catch-finally 构造的潜在块之前执行。finally
推荐阅读
- ios - 如何从 RFDuino 获取数据到 IOS 应用程序
- typescript - 如何在页面加载时验证 v-data-table 中的 v-forms?
- google-cloud-platform - Ansible GCP IAP 隧道
- c++ - Solaris11.3 OS 中 fwrite 调用后文件位置不正确
- javascript - 子进程会阻塞 node.js 中的父进程吗?
- google-cloud-platform - 传递多个过滤器选项
- c++ - 如何在给定的文本中用字符数组替换符号
- apache-kafka - 卡夫卡生产者卡住了
- python - 在numpy中从一个数组到另一个数组获取下一个日期的天数
- excel - VBA根据单元格引用更改OLAP数据透视表过滤器