ГЛАВНАЯ     АРХИВ     НАПИСАТЬ АДМИНУ     ПОДПИСАТЬСЯ НА RSS     ВОЙТИ      

Поиск

Категории

Облако тегов

acer ado.net amd asp.net c sharp c# cms css exceptions google html ipad iphone it бизнес javascript jquery linq microsoft mysql net nokia nokia lumia samsung seo silverlight sql surface tsql windows 8 windows blue windows phone windows rt xna безопасность библиотека вопросы на собеседовании интересные проекты интернет интернет магазин исключения книга книги компьютерная безопасность компьютерные игры контролы курсы по программированию логированние исключений мобильные приложения монетизация сайтов наушники новости новости it новости microsoft новости интернет новости технологий ноутбук ноутбуки обработка исключений оптимизация острова периферия планшет планшеты поддержка сайтов поисковое продвижение программы продвижение продвижение сайта продвижение сайтов рабство разработка игр разработка сайтов раскрутка сайта рекламные технологии смартфон смартфоны собеседование создание сайтов средства разработки туризм фриланс хостинг яндекс
  << Предыдущий пост       Следующий пост >>  
От: inbruk
19. июля 2013 00:04

исключения

Продолжаю цикл переводов понравившейся мне статьи автора James Dingle про исключения. Первый пост посвященный этой статье находится здесь.

3. Соберите вместе знание о том, что случилось, и контекст

Знание и контекст должны быть представлены вместе. В этом случае 1 + 1 = 3. Если один из этих двух упущен, то пользователь вашего приложения или сервиса потеряет время на понимание и локализацию проблемы. Или вы показываете пользователю сообщение об ошибке, или пишете его в лог файл. Удостоверьтесь, что вы комбинируете оба ингредиента. Или пользователь не поймет, что не так с вашим приложением.

Знание о том, что не так, описано в пункте 2 данной статьи.

Контекст это то, какой удар получил бизнес. Доставщик пиццы может получить проблемы с мотоциклом во время, когда он добирается на работу. Или во время когда он доставляет заказ клиенту. И в соответствии с этим менеджер не должен реагировать одинаково. В первом случае он возможно отдаст меньше приказов. Во втором случае, он также скорее всего сделает звонок клиенту с объяснениями, почему пицца не прибудет вовремя.

Сравните следующие строки в лог файле:

1) Знание без контекста:“Access denied on file C:\application\rev34en\2011-12-05.txt”.
Зачем этот файл ? Случилась ли эта ошибка ? Это фатальное исключение, или что-то с чем система предположительно справится ? Попытается ли система переоктрыть файл автоматически ?

2) Контекст без знания: “Unexpected error when importing the list of new users, task canceled.”.
Прекрасно... Если вы расследуете это, вы подготовите себя к сложной сессии отладки. Или вы попробуете мистику, и духи вас вдохновят знанием, что породило эту ошибку.

3) А теперь контекст и знание: “Unexpected error when importing the list of new users, task canceled: access denied on file C:\application\rev34en\2011-12-05.txt”.
При концентрации на этих двух элементах. Человек, занимающийся поддержкой/доработкой вашего приложения, узнает какой компонент программы уже глючит, а какой еще функционирует нормально. Также он узнает, как это ударило по всему приложению, и что является источником проблем.

Вы обязательно должны положить вместе знание, того что случилось, и контекст, когда вы обрабатываете исключение. В любом случае. И когда вы пишете в лог файл. И когда вы показываете пользователю сообщение об ошибке. И даже когда вы ждете ввода любого вида (после случившейся проблемы). Это секретное правило для приложений. Которые хотят оставаться дружественными к пользователю, даже когда произошли ошибки при выполнении чего-либо. Что они предположительно должны были сделать.

Продолжение следует ...

А если вы сейчас находитесь в Украине, но хотите поехать на Кавказ. То самым логичным и удобным способом перемещения в пространстве будет авиаперелет. Например, вы хотите полететь из Киева в Баку. Тогда самым удобным и экономичным будет - покупка билетов онлайн. Купить авиабилеты по умеренным ценам в таком случае, вы сможете на сайте 711.UA. На этом сайте, кроме того, можно купить и железнодорожные билеты.
авиаперелет

Похожие записи


Обработка и логирование исключений под Windows и в веб сервисах (часть 10)
Продолжаю цикл переводов понравившейся мне статьи автора James Dingle про исключения. Первый пост посвященный этой статье находится здесь. 8. Обрушивайтесь правильно В соответствии с правилом " 5 - Не проглатывать исключений ", некоторые разработчики предполагают, что их приложение должно быть всегда работающим. Таким образом они дум...

Обработка и логирование исключений под Windows и в веб сервисах (часть 2)
Продолжаю цикл переводов понравившейся мне статьи автора James Dingle про исключения. Первый пост посвященный этой статье находится здесь. Почему я должен писать эффективные журналы исключений ? Написание эффективной системы перехвата и логирования исключений это не самая сексуальная (приятная, красивая) часть вашего приложения или службы. Хорошее и...

Обработка и логирование исключений под Windows и в веб сервисах (часть 6)
Продолжаю цикл переводов понравившейся мне статьи автора James Dingle про исключения. Первый пост посвященный этой статье находится здесь. 4. Обрабатывать исключение нужно на правильном уровне стека Давайте вернемся к нашей компании по доставке пиццы. Вы могли бы ожидать от каждого из сотрудников, что они не будут сообщять о каждой из проблем их...

Добавить комментарий




biuquote
  • Комментарий
  • Предпросмотр
Loading


  Сохранить комментарий