public class Foo : IDisposable
Console.WriteLine("Throw called");
throw new Exception("from Throw()");
Console.WriteLine(string.Format("Dispose Called, array has length {0}", _array.Length));
throw new Exception("from dispose");
public static void Main()
using (var f = new Foo())
Console.WriteLine(ex.ToString());