.NET / Winforms: нужен пример хорошего интерфейса для отображения исключений - PullRequest
0 голосов
/ 20 августа 2010

Я пишу небольшой инструмент разработчика, который будет (помимо прочего) отображать исключения, выброшенные из кода, который инструмент в настоящее время проверяет. Поскольку это инструмент разработчика, я хотел бы отображать как можно больше информации об исключении (по крайней мере, тип, сообщение, трассировка стека и рекурсив InnerException) и делать это так, чтобы его было легко понять и проанализировать.

К сожалению, я не могу придумать хороший интерфейс для этого. Есть ли хорошие примеры там? У меня есть доступ к компонентам DevExpress, если это поможет.

Ответы [ 3 ]

2 голосов
/ 20 августа 2010

Начиная с дисплея VS, я бы искал:

  • пропустить null значения (например, HelpLink == null или InnerException == null)
  • Не вкладывайте InnerException, это в основном стек, поэтому представляйте его таковым
  • В StackTrace вы можете сделать имя файла кликабельным (или, по крайней мере, его легко выбрать и скопировать).
  • В StackTrace - выделение фактического имени класса и функции, чтобы оно выделялось из полного пространства имен и искажений подписи.
  • Возможно еще большее сокращение данных, например, Тип исключения отображается дважды, но это требует осторожной обработки, чтобы не проглотить информацию либо

Вы могли бы рассмотреть представление HTML, либо сделав его интерактивным, ловя щелчки, либо используя javascript.

1 голос
/ 20 августа 2010

Ну, Visual Studio один делает хорошую работу! Я не могу загрузить изображение с этого ПК, но здесь есть изображение , если вы его еще не видели.

Все, что показано в динамической табличной / древовидной структуре, вы можете углубиться во внутренние исключения и т. Д., Все копируется, и есть определенные средства просмотра для определенных вещей (например, трассировки стека). Не красиво, но функционально.

0 голосов
/ 20 августа 2010

Что бы вы ни делали, убедитесь, что разработчик может скопировать и вставить всю необходимую информацию!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...