我有以下代码:为什么不在这种情况下最终执行?
class SampleClass : IDisposable
{
public void Dispose()
{
Console.WriteLine("Execute Dispose!");
}
}
static void Main(string[] args)
{
SampleClass sc = new SampleClass();
try
{
throw new Exception();
}
finally
{
sc.Dispose();
}
}
然而,当我运行这个它不打印Execute Dispose!
消息,这是为什么?
UPDATE:
如果我改变,像这样的代码:
static void Main(string[] args)
{
SampleClass sc = new SampleClass();
try
{
try
{
throw new Exception();
}
finally
{
sc.Dispose();
}
}
catch
{
throw;
}
}
它输出消息第一,然后崩溃。
我想的是如果在第一个应用程序崩溃能不能和你喜欢的配置?
我知道这很简单,但我真的什么了解更多信息。
我不明白,所有的downvotes,这是一个很好的问题,我学到新的东西从它。 – Justin