Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
8 / 8 / 1
Регистрация: 01.04.2016
Сообщений: 622

Как словить все исключения и ошибки?

19.02.2019, 18:24. Показов 1364. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
ну то есть чтобы при исполнении было ясно в чем она
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.02.2019, 18:24
Ответы с готовыми решениями:

Как словить exception в dll подключенной через Assembly
Здраствуйте форумчане. Возник вопрос Есть скомпилированная dll написанная на C#. Она подключается в приложение через класс Assembly ...

Как выяснить причину ошибки по stack trace исключения?
Как выяснить причину ошибки по stack trace исключения?

Как получить сообщение об ошибке, если я обрабатываю ВСЕ исключения
Здравствуйте, как мне получить сообщение об ошибке, если я обрабатываю все исключения, а не конкретное? try { //блок } catch...

9
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
19.02.2019, 18:40
C#
1
2
3
4
AppDomain.CurrentDomain.FirstChanceException += (sender, eventArgs) =>
{
    Debug.WriteLine(eventArgs.Exception.ToString());
};
1
8 / 8 / 1
Регистрация: 01.04.2016
Сообщений: 622
19.02.2019, 19:14  [ТС]
тут нюанс - мне нужно чтобы все это было видно не в среде. а debug это же только при запуске из отладчика. а не просто exe
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,575
19.02.2019, 19:30
Можно выводить куда угодно, хоть в консоль, хоть в файл, Debug тут для примера...
1
8 / 8 / 1
Регистрация: 01.04.2016
Сообщений: 622
19.02.2019, 19:58  [ТС]
а не получается! в среде все отлично. а когда запускают просто exe - ничего попросту не выводится!
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
tatic void Main()
        {
            AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
 
            
 
        }
        static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
        {
            TraceListener listener = new DelimitedListTraceListener(Application.StartupPath + " \\WriteLines.txt");
 
            // Add listener.
 
            Debug.Listeners.Add(listener);
            listener.Write(e.ExceptionObject.ToString());
           
            listener.Flush();
            
          //  StreamWriter outputFile = new StreamWriter(Application.StartupPath + " \\WriteLines.txt");
 
 
          //  outputFile.WriteLine(e.ExceptionObject.ToString());
 
         //   outputFile.Close();
         //  MessageBox.Show(e.ExceptionObject.ToString());
          throw new NotImplementedException();
 
        }
[

Добавлено через 19 минут
то есть если я просто запускаю exe не загружая среду - создается обычное исключение с клавишей продолжить или выход, от виндоус однако даже файл для записи не появляется!
0
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
19.02.2019, 20:25
Цитата Сообщение от Atarion Посмотреть сообщение
то есть если я просто запускаю exe не загружая среду - создается обычное исключение с клавишей продолжить или выход, от виндоус однако даже файл для записи не появляется!
AppDomain.CurrentDomain.UnhandledException -> AppDomain.CurrentDomain.FirstChanceException
0
8 / 8 / 1
Регистрация: 01.04.2016
Сообщений: 622
19.02.2019, 22:21  [ТС]
нет такого члена класса .FirstChanceException
0
 Аватар для Lexeq
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
19.02.2019, 23:18
Atarion, какая версия .нет? Нужна минимум 4.0.
0
8 / 8 / 1
Регистрация: 01.04.2016
Сообщений: 622
20.02.2019, 08:28  [ТС]
3.5 однако мне нужна именно она. и не думаю что там невозможно словить ошибку)
0
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
20.02.2019, 13:17
Цитата Сообщение от Atarion Посмотреть сообщение
3.5 однако мне нужна именно она. и не думаю что там невозможно словить ошибку)
Для WinForms приложения под .NET 3.5 это можно сделать используя дополнительно хендлер из инфраструктуры WinForms:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    // Add the event handler for handling UI thread exceptions to the event.
    Application.ThreadException += (sender, eventArgs) =>
    {
        Debug.WriteLine("Exception occured on UI thread: " + eventArgs.Exception.ToString());
    };
 
    // Set the unhandled exception mode to force all Windows Forms errors to go through
    // our handler.
    Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
 
    // Add the event handler for handling non-UI thread exceptions to the event. 
    AppDomain.CurrentDomain.UnhandledException += (sender, eventArgs) =>
    {
        Debug.WriteLine("Exception occured on non UI thread: " + eventArgs.Exception.ToString());
    };
Подробнее смотрите здесь
https://docs.microsoft.com/en-... mework-3.5
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.02.2019, 13:17
Помогаю со студенческими работами здесь

Исключения ошибки
Здравствуйте программисты! int z; z = Convert.ToInt32(Console.ReadLine()); Подкажите пожалуйста,как мне словить ошибку если...

Вместо исключения и краха программы показывать MessageBox с текстом ошибки
В общем, был консольный калькулятор, ошибки обрабатывались и передавались через throw new Exception Теперь сделал из этого же калька,...

Обработка исключения путём взятия ошибки из полученного http запроса
using (HttpRequest httpRequest = new HttpRequest()) { try { ...

Как поставить один обработчик на все исключения
Внутри приложения множество методов, которые используют подключение к веб-серверу. Создал обработку ошибки подключения в Programm.cs. ...

Как обрабатывать системные исключения в С++ Builder так, чтобы в ответ на стандартные ошибки
появлялось не стандартное окно, а моё окно, которое я создал в приложении сам?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru