2013-07-23 3 views
0

Какова наилучшая практика, когда вы имеете дело с исключениями?Лучше ли исключать исключения или избегать исключений любой ценой?

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

Однако, я видел код, который просто слушает исключения, и если возникает исключение, то оно обрабатывается соответствующим образом.

Каковы наилучшие методы в этом сценарии?

Лучше избегать ошибок и обрабатывать их до того, как они произойдут, или просто поймать исключение и направлять его в нужное место?

С точки зрения производительности, я видел, что быстрее поймать исключения; особенно если есть база данных.

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

При этом, если у вас нет инструмента для создания отчетов об ошибках на месте (вал, новая реликвия и т. Д.), Особенно сложно найти трассировку стека в журналах, если у вас есть клиентские интерфейсы, и вы получаете билеты, которые содержат только слова «500 ошибка на странице X».

Если этот вопрос является слишком широким для StackOverflow, не стесняйтесь, чтобы закрыть его

ответ

0

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

Смежные вопросы