【发布时间】:2025-12-02 12:35:01
【问题描述】:
一个空的try 有一些价值,正如elsewhere 所解释的那样
try{}
finally
{
..some code here
}
但是,finally 是否有任何用处,例如:
try
{
...some code here
}
finally
{}
编辑:请注意,我实际上并没有检查 CLR 是否为空 finally{} 生成任何代码
【问题讨论】:
-
我认为它没有任何意义。正如问题中所解释的,您指出您希望进行空尝试,最后使用代码,是在线程中止之前做一些事情。但是无论线程是否中止,empty finally 都不会执行任何操作。
-
不这么认为..blank终于没有用例了。
-
它允许您使用
try块,而无需对方法进行任何功能更改。为什么有人想要一个没有catch或finally的try块是另一个问题。我不知道。实际上,当finally块为空时,try/finally已从编译的 CIL 中完全删除。当此类代码的编译方式与try之外的代码不同时,可能存在一些复杂的情况。我不知道他们。
标签: c# try-finally