У меня есть следующий код:
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!
, почему это так?
ОБНОВЛЕНИЕ:
Если я изменил код следующим образом:
static void Main(string[] args)
{
SampleClass sc = new SampleClass();
try
{
try
{
throw new Exception();
}
finally
{
sc.Dispose();
}
}
catch
{
throw;
}
}
Сначала он печатает сообщение, а затем вылетает.
Я думаю о том, что есливначале вылетает приложение, можно ли его утилизировать так, как вам нравится?
Я знаю, что это просто, но я действительно хочу узнать больше.