JackShcherbakov
@JackShcherbakov

Путаница с обработкой ошибкой и исключений. Как делать правильно?

Здравствуйте, коллеги! Недавно прошел тему обработки ошибок и исключений PHP и как бы я не хотел понять всё, все же осталась пара вопросов.

Итак, давайте возьмем в качестве примера ситуацию, при которой скрипт пытается открыть несуществующий файл при помощи fopen(). По умолчанию скрипт вывалит предупреждение, которое я хочу обработать. Тут я вижу 2 пути:
  1. подавить ошибку при помощи @
  2. или поймать эту самую ошибку при помощи set_error_handler().


В обоих случаях нам надо сделать 2 вещи:
  1. Обработать ошибку
  2. Оповестить о ней пользователя
  3. Если что-то серьезное (например, невозможность подключиться к б.д), то записать информацию об ошибке/исключении в соответствуюзий лог.

И тут возникают вопросы:
  1. я не совсем понимаю как правильно оповещать пользователя о возникших исключениях и ошибках. Нельзя же тупо die("Ошибка!!!") или что-то в этом духе. И что делать с уже сгенерированным содержимым? Ведь я не хочу, что бы пользователь видел что-то помимо ошибки, т.к в этом попросу нету смысла.
  2. Также не понятно, что генерировать в функциях, которые пишу я - исключения или ошибки?


Заранее выражаю огромную благодарность всем, кто поможет.
  • Вопрос задан
  • 98 просмотров
Решения вопроса 1
DevMan
@DevMan Куратор тега PHP
1. тег "СИСТЕМЫ ОТСЛЕЖИВАНИЯ ОШИБОК" не имеет никакого отношения к вопросу (если чо, у многих тегов есть описание).
2. подавление ошибки саму ошибку не убирает, и надо убирать не сообщение о ней, а причину ее возникновения. конкретно по fopen - достаточно проверить наличие файла/доступа к нему.
3. set_error_handler и исключения - это кагбе разные области, иногда абсолютно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы