У меня есть простое приложение с одним AppDomain, которое периодически запускается на сервере. Иногда необработанное исключение возникает в приложении, и появляется диалоговое окно по умолчанию abort / retry / ignore. Мне нужно как-то запретить показ edialog и просто вывести исключение на StrErr и закрыть приложение. Поэтому я вложил весь код в метод main с помощью оператора try-catch, но это совсем не помогло - иногда по-прежнему отображается диалог исключения.
Код 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. Я что-то пропустил? Или на сервере есть какие-либо настройки (реестр и т. Д.), Которые управляют специальным поведением, связанным с диалогом исключения / кодом ошибки приложения?