обо всем по порядку. Начало / Конец не совпадает с Try / Etc Последний первый обозначает набор инструкций, а второй представляет собой одну инструкцию (которая может содержать много инструкций).
Так они как молоток и лестница. Разные инструменты для разных
работа. Конечно, ты забиваешь ноготь с лестницей, но это не самое
эффективный способ решения проблемы.
Edit:
Если я возьму вопрос (теперь, когда вы его отредактируете), вы спросите, можно ли использовать одну попытку / etc без начала / конца. Да, вы можете сделать это, потому что try / etc - это одно утверждение. На самом деле, я бы сказал, что это хорошая вещь - избегать слишком много бесполезного кода.
Перед редактированием:
Так что это значит? Ну, это означает, что если в этой функции происходит ошибка, она регистрируется, но по существу игнорируется.
Если нет действительно хорошей обработки исключений , а код эскалирует исключения или восстанавливается правильно Я бы сказал, что это плохая практика .
В вашем примере все, что делает обработчик исключений, это сказать Opps (упс?). Что в этом хорошего? Конечно, это всего лишь пример, и поэтому я изучу код, чтобы увидеть, что он на самом деле делает. Я полагаю, что человек, который написал это, пытался обрабатывать ошибки в целом, но на самом деле надежность кода намного ухудшается при использовании этого шаблона.
Я использую общий случай «Обработчики исключений предназначены для исключительных обстоятельств» , где я могу прийти в себя или мне нужно сообщить кому-то / предмету. В основном я считаю, что никто не может справиться с ошибкой, и система должна ухудшиться в соответствии с проектом. Именно здесь обработчики исключений будут безопасно регистрироваться и передавать исключения.
В последнем случае я распространяюсь на все «большие границы в системе». т.е. я буду собирать исключения на границах Service / API и регистрировать / оборачивать соответствующим образом.
(обратите внимание, что иногда плохие API-интерфейсы используют исключения для неисключительных обстоятельств, в этом случае вы можете безопасно добавить обработчик исключений, чтобы обернуть плохой дизайн).