Это хорошая практика - оборачивать каждую функцию методом try и catch?
Абсолютно нет. Это рецепт для катастрофы - это означает, что вы, вероятно, попытаетесь продолжить работу с запросом, даже если что-то пошло не так и состояние повреждено.
Как правило, вы должны иметь только блоки catch, где вы можете обработать исключение и продолжить успешно; в противном случае вы должны позволить появлению исключения. Таким образом, вы можете захотеть иметь блок catch
для повторения определенных операций, но только определенных.
Тогда у вас может быть блок catch
прямо на верхнем уровне, чтобы остановить сбой самого сервера. Вы не сказали нам, какой тип сервера вы создаете - сама структура может предоставить соответствующий catch
блок, подобный этому.
Другая причина поймать исключение - это обернуть его и перебросить как более подходящее, чтобы скрыть детали реализации и, возможно, добавить больше контекста. Хотя это может быть немного болезненно и полезно только в определенных ситуациях. Это действительно зависит от того, какой код вызывает исключение, и как вы ожидаете с ним справиться.