Чем ошибки (errors) отличаются от исключений (exceptions)?

Ответ

В PHP 7+ иерархия ошибок:

Throwable (interface)
├── Error (внутренние ошибки PHP)
│   ├── TypeError
│   ├── ValueError
│   ├── ArithmeticError
│   ├── DivisionByZeroError
│   └── ...
└── Exception (пользовательские исключения)
    ├── RuntimeException
    ├── LogicException
    ├── InvalidArgumentException
    └── ...

Ошибки (Error) - критические проблемы: вызов несуществующего метода, неправильный тип аргумента. Исключения (Exception) - предсказуемые ситуации: файл не найден, невалидные данные.

Оба ловятся через try/catch (Throwable). Но Error обычно сигнализирует о баге в коде, Exception - о предсказуемой проблеме.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.