Страницы

Поиск по вопросам

вторник, 25 февраля 2020 г.

Как узнать об аварийном закрытии программы на c#?

#c_sharp #исключения


Тестирую программу, не могу везде написать try... except. Можно ли как-то при аварийном
закрытии программы вывести сообщение пользователю типа "Аварийное закрытие программы,
запомните, пожалуйста, Ваши последние действия"?    


Ответы

Ответ 1



Если вы хотите перехватывать все необработанные исключения в вашем приложении, подпишитесь на AppDomain.UnhandledException [SecurityPermission(SecurityAction.Demand, Flags=SecurityPermissionFlag.ControlAppDomain)] public static void TestSomeException() { AppDomain domain = AppDomain.CurrentDomain; domain.UnhandledException += new UnhandledExceptionEventHandler(SomeExceptionHandler); throw new Exception("Тестовое исключение"); } static void SomeExceptionHandler(object sender, UnhandledExceptionEventArgs args) { Exception e = (Exception) args.ExceptionObject; // TODO: Обработать исключение } public static void Main() { TestSomeException(); }

Комментариев нет:

Отправить комментарий