| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Обработка исключений для всей программы |
| Автор: deviLoper 28.8.2007, 12:46 | ||
| Есть достаточно большое приложение в котором иногда возникают ошибки Хотелось бы написать обработчик для непредвиденных ошибок, который выдавал бы пользовтателю сообщение вместо стандартного "Unhandled exception has occured in your application....." Пробывал так:
Но такой код работет, только если запускаю приложение из Visual Studio. Когда запускаю ехе'шник при возниконовении ошибки выдается неприятный диалог. |
| Автор: SpaceSpace 28.8.2007, 12:52 |
| так не делают. это очень плохой стиль. исключения нужно локализовать, т.е. блоки try\catch должны размещаться в месте возможного исключения, по всему тексту вашего "большого" приложения. |
| Автор: deviLoper 28.8.2007, 17:43 | ||
| Программа достаточно большая, предусмотреть в каком событии может возникнуть ошибка достаточно трудно, прописать обработчики исключений для каждого события нереально. А уведомить программистов о возникновении такой ошибке крайне необходимо. В реалниой программе при обработке такого исключения программисту на и-мейл отправляется сообщение с описанием ошибки и трассировкой, что бы в последствии он мог ее исправить. Исходя из этого практика вполне приемлимая. P. S. А повторять одинаковый код обработчиков исключений по всей программе то же
|
| Автор: Experimenter 28.8.2007, 19:07 |
| Возможно, исключение тем не менее возникает где-то вне обработчика??? Насчет стиля согласен со СпейсСпейсом. Что это за программа, в которой ошибка может в любом месте возникнуть??? |
| Автор: Stepan_Lameroff 28.8.2007, 20:40 |
| Посмотрите AppDomain.UnhandledException Event и Application.ThreadException Event Интересная статья по теме http://www.wintellect.com/cs/blogs/jclark/archive/2005/03/30/simple-main.aspx |
| Автор: andrx 29.8.2007, 09:21 | ||
можно примерно так (для vs2003) :
|
| Автор: deviLoper 29.8.2007, 17:19 |
| Stepan_Lameroff и andrx большое спасибо это то, что я искал |