using System; namespace NUnit.Util { /// /// Summary description for UnhandledExceptionCatcher. /// public class TestExceptionHandler : IDisposable { private UnhandledExceptionEventHandler handler; public TestExceptionHandler( UnhandledExceptionEventHandler handler ) { this.handler = handler; AppDomain.CurrentDomain.UnhandledException += handler; } ~TestExceptionHandler() { if ( handler != null ) { AppDomain.CurrentDomain.UnhandledException -= handler; handler = null; } } public void Dispose() { if ( handler != null ) { AppDomain.CurrentDomain.UnhandledException -= handler; handler = null; } System.GC.SuppressFinalize( this ); } } }