Форум программистов, компьютерный форум, киберфорум
Grishaco
Войти
Регистрация
Восстановить пароль
Карта форума Блоги Сообщество Поиск Заказать работу  
Оценить эту запись

Информирования пользователя об ошибке в стиле MMS.

Запись от Grishaco размещена 14.01.2014 в 17:34

Представляю еще один удобный способ отображения ошибок. В чем он удобный, в том что пользователь видит не только сообщение об ошибке, но и может посмотреть ее внутренности, такие как Stack Trace. Зачем это надо? Ну например, пользователь говорит что у него ошибка, а что за ошибка и где возникла ничего сказать не может. Логи это хорошо, но записей в логах могут быть миллионы, попробуй найди.

И так, для отображения ошибок понадобится файл с названием Microsoft.ExceptionMessageBox.dll, поставляется он с SQL Server, т.е. найти его можно в папке, куда установлен SQL Server. Добавляем данный файл в Refernce проекта и используем следующий код

C#
1
2
3
4
5
6
7
8
9
10
11
12
try
            {
                int.Parse(textBox1.Text);
            }
            catch (Exception exc)
            {
                var messageBox = new ExceptionMessageBox(exc,
                                                         ExceptionMessageBoxButtons.OK,
                                                         ExceptionMessageBoxSymbol.Error,
                                                         ExceptionMessageBoxDefaultButton.Button1);
                messageBox.Show(null);
            }
В итоге получим окно следующего вида:

Нажмите на изображение для увеличения
Название: 1.png
Просмотров: 527
Размер:	8.0 Кб
ID:	1988

Если развернуть его, то можно увидеть окно со Stack Trace

Нажмите на изображение для увеличения
Название: 2.png
Просмотров: 590
Размер:	22.1 Кб
ID:	1989

Это окно дает еще одно преимущество, если нажать на кнопку скопировать, то будет скопировано полное дерево ошибки.
Размещено в Без категории
Показов 1622 Комментарии 0
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru