Представляю еще один удобный способ отображения ошибок. В чем он удобный, в том что пользователь видит не только сообщение об ошибке, но и может посмотреть ее внутренности, такие как 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);
} |
|
В итоге получим окно следующего вида:
Если развернуть его, то можно увидеть окно со Stack Trace
Это окно дает еще одно преимущество, если нажать на кнопку скопировать, то будет скопировано полное дерево ошибки. |