Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
1 / 1 / 1
Регистрация: 23.08.2015
Сообщений: 67

Обработка всех исключений автоматически

15.09.2015, 21:27. Показов 2883. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем еще раз дня доброго.
Существует ли способ обработать приложением все исключения, которые я не обработал сам? Это нужно для того, что бы отправлять отчет в случае ошибки по почте.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.09.2015, 21:27
Ответы с готовыми решениями:

Обработка исключений разного типа в одном блоке
Приветствую! В ходе работы программы для записи файлов генерируется исключительная ситуация. Создается объект от класса IO.IOException ...

Как на vb.net делается обработка исключений try catch?
как на vb.net делается обработка исключений try catch ? например System.ArgumentException Добавлено через 3 минуты на C# было бы...

Обработка сразу всех исключений
С исключениями работать пока не приходилось, так что если вопрос мой наивен - пардона просим :) Возможно ли обработать сразу все...

9
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18279 / 14202 / 5368
Регистрация: 17.03.2014
Сообщений: 28,883
Записей в блоге: 1
15.09.2015, 23:03
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

MoteX, используй событие AppDomain.UnhandledException
0
1 / 1 / 1
Регистрация: 23.08.2015
Сообщений: 67
16.09.2015, 06:26  [ТС]
OwenGlendower,спасибо! С этим похоже разобрался, но теперь нужно избавиться от диалога исключения т.к. необходимо что бы приложение завершало работу без запроса.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18279 / 14202 / 5368
Регистрация: 17.03.2014
Сообщений: 28,883
Записей в блоге: 1
16.09.2015, 13:21
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

MoteX, для отключения Windows Error Reporting поставь в начале Main
VB.NET
1
SetErrorMode(SetErrorMode(ErrorModes.SYSTEM_DEFAULT) Or ErrorModes.SEM_NOGPFAULTERRORBOX Or ErrorModes.SEM_FAILCRITICALERRORS Or ErrorModes.SEM_NOOPENFILEERRORBOX)
SetErrorMode:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
<DllImport("kernel32.dll")> _
Function SetErrorMode(ByVal mode As ErrorModes) As ErrorModes
End Function
 
<Flags>
Enum ErrorModes As UInteger
    SYSTEM_DEFAULT = &h0
    SEM_FAILCRITICALERRORS = &h0001
    SEM_NOALIGNMENTFAULTEXCEPT = &h0004
    SEM_NOGPFAULTERRORBOX = &h0002
    SEM_NOOPENFILEERRORBOX = &h8000
End Enum
4
0 / 0 / 0
Регистрация: 15.07.2017
Сообщений: 6
22.07.2017, 13:23
Цитата Сообщение от OwenGlendower Посмотреть сообщение
для отключения Windows Error Reporting поставь в начале Main
У меня небольшое приложение в Visual Studio, весь код в Form1. Если вставляю ваш код в Form1_Load, то окно "Прекращена работа программы всё равно появляется". Что я делаю не так? Помогите разобраться, заранее спасибо.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18279 / 14202 / 5368
Регистрация: 17.03.2014
Сообщений: 28,883
Записей в блоге: 1
22.07.2017, 13:45
Цитата Сообщение от xap4o Посмотреть сообщение
Что я делаю не так? Помогите разобраться, заранее спасибо.
В ответе было ясно сказано - код нужно разместить в начале метода Main.
0
0 / 0 / 0
Регистрация: 15.07.2017
Сообщений: 6
22.07.2017, 13:51
Но у меня нет метода Main. Добавил в Public Class Form1 это:
VB.NET
1
2
3
4
    Shared Sub Main()
        SetErrorMode(SetErrorMode(ErrorModes.SYSTEM_DEFAULT) Or ErrorModes.SEM_NOGPFAULTERRORBOX Or ErrorModes.SEM_FAILCRITICALERRORS Or ErrorModes.SEM_NOOPENFILEERRORBOX)
        Application.Run(Form1)
    End Sub
Всё равно не работает.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18279 / 14202 / 5368
Регистрация: 17.03.2014
Сообщений: 28,883
Записей в блоге: 1
22.07.2017, 14:47
xap4o, забыл что речь о VB который "прячет" метод Main. Открой тогда свойства проекта, "view application events", создай обработчик события Startup и в нем размести код.
0
0 / 0 / 0
Регистрация: 15.07.2017
Сообщений: 6
22.07.2017, 16:22
VB.NET
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
Imports Microsoft.VisualBasic.ApplicationServices
 
Namespace My
    ' Для MyApplication имеются следующие события:
    ' Startup: возникает при запуске приложения перед созданием начальной формы.
    ' Shutdown: возникает после закрытия всех форм приложения. Это событие не происходит при прерывании работы приложения из-за ошибки.
    ' UnhandledException: возникает, если в приложение обнаруживает необработанное исключение.
    ' StartupNextInstance: возникает при запуске приложения, допускающего одновременное выполнение только одной копии, если это приложение уже активно. 
    ' NetworkAvailabilityChanged: возникает при изменении состояния подключения: при подключении или отключении.
    Partial Friend Class MyApplication
 
        Declare Function SetErrorMode Lib "KERNEL32.DLL" (ByVal mode As ErrorModes) As ErrorModes
 
        Enum ErrorModes As UInteger
            SYSTEM_DEFAULT = &H0
            SEM_FAILCRITICALERRORS = &H0001
            SEM_NOALIGNMENTFAULTEXCEPT = &H0004
            SEM_NOGPFAULTERRORBOX = &H0002
            SEM_NOOPENFILEERRORBOX = &H8000
        End Enum
 
        Private Sub MyStartup(sender As Object, e As StartupEventArgs) Handles Me.Startup
            SetErrorMode(SetErrorMode(ErrorModes.SYSTEM_DEFAULT) Or ErrorModes.SEM_NOGPFAULTERRORBOX Or ErrorModes.SEM_FAILCRITICALERRORS Or ErrorModes.SEM_NOOPENFILEERRORBOX)
        End Sub
 
    End Class
End Namespace
Чё-т всё равно не работает. Видимо, я что-то не так делаю.
0
4 / 2 / 2
Регистрация: 11.04.2020
Сообщений: 12
13.04.2020, 11:34
xap4o, напиши Overrides и там будет OnStartup, а если ещё функция приватная то как .NET её вызвать может?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.04.2020, 11:34
Помогаю со студенческими работами здесь

Обработка всех исключений TIdHTTP + немного ООП
Приветствую. У меня возникла потребность в обработке всех исключений компонента TIdHTTP для более детального отчёта работы программы. А...

Обработка исключений на форме - одно для всех ошибок
Доброго времени суток, уважаемые форумчане. Пробую разобраться с try...throw...catch. В целом, как это делается в консольных проектах и...

Обработка исключений. Как организовать общий обработчик исключений?
У меня есть последовательность вызова методов для внесения данных в таблицу БД. Сам метод внесения данных. Он генерирует исключение ...

Обработка исключений с пмощью структурированной обработки исключений
Есть функция, которая определенным образом работает с файлами,но при работе с файлами &quot;не подходящего&quot; типа вызывается...

Обработка исключений
Подскажите как обрабатывать исключение пока оно не исчезнет. Например: System.IO.Ports.SerialPort rs_port; ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru