我有一个带有单个 AppDomain 的简单应用程序,它在服务器上定期启动。有时应用程序中会出现未处理的异常,并弹出默认的中止/重试/忽略对话框。我需要以某种方式阻止显示对话框,只在 StrErr 上输出异常并关闭应用程序。所以我用 try-catch 语句将所有代码包含在 main 方法中,但它根本没有帮助 - 有时仍然会显示异常对话框。
Main() 代码如下所示:
try
{
RunApplication();
}
catch (Exception exc)
{
Console.Error.WriteLine(exc.ToString());
Console.Error.WriteLine(exc.StackTrace);
if (exc.InnerException != null)
{
Console.Error.WriteLine(exc.InnerException.ToString());
Console.Error.WriteLine(exc.InnerException.StackTrace);
}
Environment.Exit(666);
}
这个 try-catch 子句应该捕获所有未处理的异常,并且异常对话框不应该弹出 AFAIK。我错过了什么吗?或者服务器上是否有任何设置(注册表等)控制与异常对话框/应用程序错误代码相关的一些特殊行为?