UPDATE:
Я хочу сделать что-то вроде этого: http://framework.zend.com/wiki/display/ZFDEV2/Proposal+for+Exceptions+in+ZF2
вот так мне нужны все отдельные исключения для каждого компонента фреймворка
<?php
class ClassA {
public function doSomething() {
throw new ClassA\Exception\BadMethodCallException('bad method called');
}
}
class Application {
public function MainMethod() {
$ClassA = new ClassA();
$ClassA->doSomething();
}
}
try {
$Application = new Application();
$Application->MainMethod();
} catch(\Application\Exception $e) {
// exception cannot be catched, because ClassA\Exception\BadMethodCallException was thrown
}
?>
В моем фреймворке компоненты eatch имеют свои собственные классы исключений. Итак, логично ли, что Application выдает исключение ClassA или я должен перехватить ClassA\Exception\BadMethodCallException
в MainMethod
и перебросить в Application\Exception\BadMethodCallException
следующим образом:
<?php
class Application {
public function MainMethod() {
$ClassA = new ClassA();
try {
$ClassA->doSomething();
} catch(\ClassA\Exception\BadMethodCallException $e) {
throw new Application\Exception\BadMethodCallException('message', null, $e);
}
}
}
?>