Mam prostą aplikację z pojedynczą aplikacją AppDomain, która jest uruchamiana okresowo na serwerze. Czasem w aplikacji pojawia się nieobsługiwany wyjątek i pojawia się domyślne okno przerwania/ponawiania/ignorowania. Muszę w jakiś sposób zapobiec wyświetlaniu edialog i po prostu wypisać wyjątek na StrErr i zamknąć aplikację. Zamknąłem więc cały kod w głównej metodzie za pomocą instrukcji try-catch, ale to w ogóle nie pomogło - okno dialogowe wyjątków jest czasami wyświetlane.C# aplikacja konsolowa - blokowanie domyślnego okna dialogowego wyjątku
Główny() kod wygląda następująco:
klauzulatry
{
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);
}
to try-catch Powinni złapać wszystkie nieobsłużonych wyjątków i okno wyjątek nie powinien popup AFAIK. Czy czegoś brakuje? Czy istnieje jakieś ustawienie (rejestr itp.) Na serwerze, które kontroluje pewne szczególne zachowanie związane z oknem dialogowym wyjątku/kodem błędu aplikacji?
Czy mówisz o włamaniu do nieobsługiwanych wyjątków? – abhilash