我有这段代码:
try
{
Application.Run(myForm);
}
catch (Exception e)
{
// handle
}
在我的MyForm
中,当我在按钮单击处理程序中抛出异常时,它会按预期捕获并由上面的代码处理。当我抛出表格的onEnter
处理程序时,它没有被抓住。
答案 0 :(得分:1)
使用AppDomain.CurrentDomain.UnhandledException
public static void Main()
{
AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.UnhandledException += new UnhandledExceptionEventHandler(MyHandler);
Application.Run(myForm);
}
static void MyHandler(object sender, UnhandledExceptionEventArgs args)
{
Exception e = (Exception) args.ExceptionObject;
Console.WriteLine("MyHandler caught : " + e.Message);
Console.WriteLine("Runtime terminating: {0}", args.IsTerminating);
}