Fisrt, я бы сказал, что пользователю не нужно знать, является ли проблема базой данных, паролем администратора или памятью. Просто создайте страницу технической ошибки для пользователя и запишите подробности ошибки на сервере для вашей отладки.
Для технических проблем, о которых вы говорите, лучше всего иметь централизованное управление для их решения, то есть вывести страницу с ошибкой.
Обычное место - диспетчер диспетчера. Если вы используете фреймворк, этот механизм должен существовать (например, Symfony).
Таким образом, вам не нужно связываться с этими исключениями в вашем реальном коде.
Точно так же, как вы нашли это, лучшая политика - ловить исключение, только когда вы можете что-то с этим сделать.
Например:
- «проблема доступа к базе данных» может быть автоматически устранена
диспетчер. Таким образом, вы не поймаете это в своем коде и дайте его
центральное лечение
- «пользователь не найден» может получить специальную обработку от вашего контроллера,
предложить создание например. Так что вы ловите это.