问题:我想在控制台应用程序中为未处理的异常定义一个全局异常处理程序.在asp.net中,可以在global.asax中定义一个,在windows应用程序/服务中,可以定义如下
AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.UnhandledException += new UnhandledExceptionEventHandler(MyExceptionHandler);
Run Code Online (Sandbox Code Playgroud)
但是,如何为控制台应用程序定义全局异常处理程序?
currentDomain似乎不起作用(.NET 2.0)?
编辑:
唉,愚蠢的错误.
在VB.NET中,需要在currentDomain前添加"AddHandler"关键字,否则在IntelliSense中看不到UnhandledException事件......
这是因为VB.NET和C#编译器对事件处理的处理方式不同.
我的一个方法(Method1)产生一个新线程.该线程执行一个方法(Method2),并在exectution期间抛出异常.我需要获取有关调用方法的异常信息(Method1)
在某种程度上,我可以捕获这个Method1被抛出的异常Method2吗?