Перехват исключений - C#
Формулировка задачи:
Здравствуйте, пытаюсь перехватывать исключения в оконном приложении таким кодом:
А создаю исключение так:
В итоге исключение перехватывается, программа выводит сообщение об ошибке, однако после приложение завершается крешом "прекращена работа программы .." Как мне от этого избавиться?
Заранее спасибо!
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication1 { static class Program { /// <summary> /// Главная точка входа для приложения. /// </summary> [STAThread] static void Main() { Application.SetUnhandledExceptionMode(UnhandledExceptionMode.ThrowException); AppDomain.CurrentDomain.UnhandledException += _UnhandledException; Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } public static void _UnhandledException(object sender, UnhandledExceptionEventArgs e) { MessageBox.Show("исключение! " + e.ExceptionObject.ToString()); } } }
private void button2_Click(object sender, EventArgs e) { throw new Exception("тестовое исключение!11"); }
Решение задачи: «Перехват исключений»
textual
Листинг программы
System.Windows.Forms.Application.ThreadException += ApplicationThreadException;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д