Цель создания определенных классов исключений - связать их с некоторыми конкретными функциями (база данных, сеанс и т. Д.). Если ваша функциональность может быть полностью описана в одном классе, например
Class AdminController extends Zend_Controller_Action
{
public function loginAction()
{
throw new LoginException('Failed login');
}
}
Class LoginException extends Exception {
}
Обратите внимание, что оба класса находятся в одном файле AdminController.php. Этот подход более быстрый, поскольку для загрузки LoginException не требуется автозагрузка, поскольку она находится в том же файле.