В библиотеке Zend Framework текущая практика (около 1.10.8) заключается в том, что компоненты библиотеки генерируют исключения, расширяющие Zend_Exception
.
Например, компонент Zend_Layout
выдает Zend_Layout_Exception
В моей собственной библиотеке ZF, где я добавляю свои собственные компоненты ZF или расширяю существующие компоненты, я выбрасываю Mylibrary_Exception
(конечно, это не так называется):
Я вижучто они собираются изменить это в ZF 2.0
http://framework.zend.com/wiki/display/ZFDEV2/Proposal+for+Exceptions+in+ZF2
Мой актуальный вопрос таков:
Во всем приложении MVC в моих контроллерах / моделях /Представления, если мне нужно выбросить исключение (и это будет редко, потому что, очевидно, я буду обрабатывать ожидаемые ошибки по-другому) - НО, если мне нужно сгенерировать исключение здесь, какова лучшая практика в ZF?
следует ли мне просто
throw new Exception("this is an exception");
или создавать классы исключений в моих модулях ZF, аналогично тому, как организована библиотека ZF.то есть у них есть классы исключений для каждого компонента библиотеки. Должны ли я иметь классы исключений для каждого модуля приложения?
application / modules / user / controllers / UserController.php
application / modules /user / forms / UserForm.php
приложение / модули / пользователь / модели / User.php
приложение / модули / пользователь / views / scripts / index.phtml
приложение/modules/user/exceptions/Exception.php (класс User_Exception)
application / modules / user / exceptions / SuperexampleException.php (класс User_Exception_Superexample)
Я никогда никого не виделделайте что-то подобное раньше в ZF, поэтому я не уверен, хорошая ли это идея или нет.
ОБНОВЛЕНИЕ :
Чтобы прояснить мой вопрос далее - при поднятииисключения в MVC-части приложения (в отличие от библиотеки) - существуют ли какие-либо соглашения относительно использования определенных классов исключений (как это делает библиотека) по сравнению с использованием общего класса Exception?