JackShcherbakov
@JackShcherbakov

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

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

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


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

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


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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽