Gdy wyjątek nie zostanie naruszony w aplikacji .NET, maszyna wirtualna wyświetla użytkownikowi komunikat o błędzie. Chciałbym móc wyświetlić swój własny komunikat o błędzie, bez konieczności umieszczania bloku catch
na najwyższym poziomie mojej aplikacji (ponieważ sprawia to, że debugowanie niezatłoczonych wyjątków jest bardziej żmudne).Jak mogę przesłonić domyślne okno dialogowe wyjątków bez przechwytywania?
W tej chwili wyświetlam własne okno dialogowe błędu w detektorze zdarzeń AppDomain.UnhandledException
, ale okno dialogowe utworzone przez .NET nadal się wyświetla. Chciałbym także uniknąć Environment.FailFast
, ponieważ pomijałoby to moje bloki finally
(do których wciąż jestem nieco przywiązany).
To cecha JIT. Nie jestem pewien, czy jest sposób na modyfikację ... –
Prawdopodobnie utworzyłbym zmienną konfiguracyjną trybu produkcji/trybu rozwoju, aby przełączać się pomiędzy przeglądaniem własnego okna dialogowego (i przechwytywaniem) na najwyższym poziomie, a nie oglądaniem go. To także dobry pomysł na ogólne debugowanie ... –
Jest to zdecydowanie możliwe, przypomniałem sobie, że Czerwona Brama zrobiła coś na tym polu. Zobacz ten [image] (http://www.red-gate.com/products/dotnet-development/smartassembly/assets/images/error_reporting_dialog.png) i powiązany produkt [strona] (http: //www.red- gate.com/products/dotnet-development/smartassembly/learn-more/screenshots). Nie jestem pewien, czy mają darmową wersję, ale zrobili to, więc musi być jakiś sposób! – oleksii