Translations:Developers/Object oriented programming in PHP/Exceptions/5/ru

Если столкнулись с неожиданными условиями в коде, которые не могут быть обработаны в методе, то лучше сгенерировать исключение, и пусть вызывающий методы (или инициализирущий сценарий) позаботиться об этом. Выше приведён хороший пример этого: ожидается product item, но заполучено что-то, что не реализует интерфейс product item. И не известно, что делать с этим объектом, и перед вызовом метода объекта, которые не существует (что приведёт к фатальной ошибке), будет сформировано исключение.