我有这段代码:
[STAThread]
private static int Main(string[] args)
{
AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.UnhandledException += new UnhandledExceptionEventHandler(CrashHandler);
Application.Run(new Running(args));
Console.WriteLine("Program exiting");
return 0;
}
private static void CrashHandler(object sender, UnhandledExceptionEventArgs args)
{
Console.WriteLine("Unhandled Exception.");
}
然而,当我通过命令行执行此操作时,我不断获得错误级别-1073741819或类似内容。
我认为这是由于在运行表单中显示了一些ActiveX控件,但没有正确退出。我怀疑挂起的线程只在main函数返回后退出,覆盖了errorlevel值。
我可以先以某种方式强制退出所有其他线程吗?
编辑:我添加了Console.Writeline,可以在输出中看到该消息。
编辑2 :我添加了unhandledException事件处理程序,但应用程序无法访问它。