Оборачивается ли все в блоки try / catch защитным программированием? - PullRequest
28 голосов
/ 02 декабря 2008

Я программирую последние 3 года. Когда я программирую, я использую для обработки всех известных исключений и изящно предупреждаю пользователя. Недавно я видел некоторый код, в котором почти все методы заключены в блоки try / catch. Автор говорит, что это часть защитного программирования. Интересно, это действительно защитное программирование? Вы рекомендуете помещать весь свой код в блоки try?

Ответы [ 12 ]

3 голосов
/ 02 декабря 2008

Полагаю, реальный ответ - «Это зависит». Если блоки try-catch отлавливают очень общие исключения, я бы сказал, что это защитное программирование, точно так же, как никогда не выезжать за пределы вашего района - это защитное вождение. Try-catch (imo) должен быть адаптирован к конкретным исключениям.

Опять же, это только мое мнение, но моя концепция защитного программирования заключается в том, что вам нужно меньше / меньше блоков try-catch, а не больше / больше. Ваш код должен делать все возможное, чтобы исключительное условие никогда не существовало.

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

Я считаю блоки "try" и "catch" очень полезными, особенно если используется что-либо в реальном времени (например, доступ к базе данных).

Слишком много? Глаз смотрящего.

Я обнаружил, что копирование журнала в Word и поиск с помощью команды «найти» - если программа чтения журнала не включает «поиск» или «поиск» как часть включенных в нее инструментов - это простой, но отличный способ пробираться по многословным бревнам.

Это, конечно, кажется "защитным" в обычном смысле этого слова.

По опыту я обнаружил, что следует тому, что делает ваш менеджер, руководитель группы или сотрудник. Если вы просто программируете для себя, используйте их до тех пор, пока код не станет «стабильным» или в отладочных сборках, а затем удалите их, когда закончите.

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