更新 我想做这样的事情: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);
}
}
}
?>
答案 0 :(得分:0)
我没有太多的解决方案来解决你的问题,但是对于你的应用程序的每个部分都有一个异常类是我认为不好的方法。它没有多大意义。
我只是使用错误代码并通过它识别“Exception thrower”。