Почему обработка ошибок важна? - PullRequest
11 голосов
/ 15 декабря 2008

Мне дали задание написать руководство по кодированию для моей команды, и оно шло отлично, пока мой менеджер не попросил меня написать объяснение Почему важна обработка ошибок .

Я знаю это инстинктивно, но как я могу выразить это словами?

Сначала я попытался найти его в Google, но ничего не вышло, поэтому теперь я спрашиваю своих коллег-мастеров по программированию.

Ответы [ 5 ]

17 голосов
/ 15 декабря 2008

ИМХО ... большинство программ очень большие, очень сложные и написаны несколькими людьми. Такое сочетание факторов почти всегда приводит к некоторой программной ошибке. Дело не в том, что программисты злые, глупые или ленивые ... просто в стремлении уложиться в крайний срок мы часто не предвидим все возможные действия, которые пользователь может сделать с нашими программами, и что-то обязательно произойдет.

В этом отношении обработка ошибок служит двум целям.

  • Во-первых, он относительно дружелюбно сообщает пользователю, что что-то пошло не так, и ему следует обратиться в отдел технической поддержки или о том, что кто-то из службы технической поддержки был уведомлен. Как все мы знаем, существует ОГРОМНАЯ разница между получением довольно неприятного, изуродованного техническими средствами уведомления, в котором говорится что-то вроде «Объект не установлен для ссылки на объект» и т. Д. ... и получением хорошего всплывающего окна с сообщением «Там было Вопрос. Пожалуйста, свяжитесь со службой поддержки ".

  • Во-вторых, это позволяет программисту внести некоторые тонкости, чтобы помочь в отладке проблем. Например ... в моем коде я обычно пишу собственный обработчик ошибок, который принимает ряд параметров и выдает хорошее отформатированное сообщение, которое можно отправить по электронной почте в службу поддержки, сохранить в журнале событий, записать в журнал файл и т. д. Сообщение об ошибке будет содержать как можно больше информации, чтобы я мог выяснить, что произошло, следы стека, параметры функций, вызовы базы данных ... вы называете это. Мне нравятся подробные сообщения об ошибках, чтобы помочь мне понять, что на самом деле произошло. Пользователь никогда не должен видеть ничего из этого, он получает приятное, дружеское сообщение выше, сообщая ему, что кто-то может выяснить, что происходит.

4 голосов
/ 15 декабря 2008

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

3 голосов
/ 11 мая 2012

Это довольно просто объяснить менеджеру-неспециалисту:

Если вы обработаете свои ошибки, ваша программа, вероятно, продолжит функционировать после ошибки, ваш клиент, вероятно, сможет продолжить работу, и вы можете предоставить отчет о том, как именно произошла ошибка, чтобы вы могли ее исправить.

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

2 голосов
/ 15 декабря 2008

Почему важна обработка ошибок.

Из-за того, что может случиться, если вы этого не сделаете.

Если вы способны написать руководство по кодированию, вы должны справиться с этим, конечно?

1 голос
/ 15 декабря 2008

Сначала я бы спросил, важно ли это?

Я видел (некрасивый) код, в котором некоторые ошибки игнорировались (например, нулевая ссылка)

Так какой тип ошибок важен для обработки?

Существует большая разница между System.IO.FileNotFoundException, System.Data.SqlClient.SqlException и System.ApplicationException

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