![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
deviLoper |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 11.1.2006 Репутация: нет Всего: нет |
Есть достаточно большое приложение в котором иногда возникают ошибки
![]() Хотелось бы написать обработчик для непредвиденных ошибок, который выдавал бы пользовтателю сообщение вместо стандартного "Unhandled exception has occured in your application....." Пробывал так:
Но такой код работет, только если запускаю приложение из Visual Studio. Когда запускаю ехе'шник при возниконовении ошибки выдается неприятный диалог. Это сообщение отредактировал(а) deviLoper - 28.8.2007, 12:47 Присоединённый файл ( Кол-во скачиваний: 7 ) ![]() |
|||
|
||||
SpaceSpace |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 366 Регистрация: 10.4.2007 Где: Самара Репутация: 2 Всего: 10 |
так не делают.
это очень плохой стиль. исключения нужно локализовать, т.е. блоки try\catch должны размещаться в месте возможного исключения, по всему тексту вашего "большого" приложения. -------------------- Репутация - самое ценное, что есть у человека. Зарабатывают годы, теряют за мгновение. 70-565 MCPD Enterprise 3.5 |
|||
|
||||
deviLoper |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 11.1.2006 Репутация: нет Всего: нет |
Программа достаточно большая, предусмотреть в каком событии может возникнуть ошибка достаточно трудно, прописать обработчики исключений для каждого события нереально. А уведомить программистов о возникновении такой ошибке крайне необходимо.
В реалниой программе при обработке такого исключения программисту на и-мейл отправляется сообщение с описанием ошибки и трассировкой, что бы в последствии он мог ее исправить. Исходя из этого практика вполне приемлимая. P. S. А повторять одинаковый код обработчиков исключений по всей программе то же
|
|||
|
||||
Experimenter |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 430 Регистрация: 8.5.2007 Где: Уфа Репутация: 8 Всего: 17 |
Возможно, исключение тем не менее возникает где-то вне обработчика???
Насчет стиля согласен со СпейсСпейсом. Что это за программа, в которой ошибка может в любом месте возникнуть??? -------------------- public Zlo FromTwoEvilsChooseSmaller(Zlo zlo1, Zlo zlo2){ if(zlo1 < zlo2) return zlo1; else if(zlo1 > zlo2) return zlo2; else throw new Exception("Kill yourself by the wall"); } |
|||
|
||||
Stepan_Lameroff |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 164 Регистрация: 16.12.2006 Репутация: 9 Всего: 14 |
Посмотрите AppDomain.UnhandledException Event и Application.ThreadException Event
Интересная статья по теме Simple Main Это сообщение отредактировал(а) Stepan_Lameroff - 28.8.2007, 20:47 |
|||
|
||||
andrx |
|
|||
![]() Андрей ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 16.12.2005 Где: Киев Репутация: 1 Всего: 4 |
можно примерно так (для vs2003) :
Это сообщение отредактировал(а) andrx - 29.8.2007, 09:23 --------------------
Лучше скажи мало, но хорошо. (Козьма Прутков) |
|||
|
||||
deviLoper |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 11.1.2006 Репутация: нет Всего: нет |
Stepan_Lameroff и andrx большое спасибо это то, что я искал
|
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |