为什么在Zend框架中有这个必要,它增加了什么好处?为什么不直接使用普通的php异常呢?
发布于 2011-12-04 06:33:40
捕获异常时可以使用异常的类名,并且可以以不同的方式处理不同类型的异常。通常,zend框架中的每个模块都有不同的异常类。
例如,如果您使用的是Zend_Queue,该库将返回Zend_Queue_Exception异常,它扩展了Zend_Exception。如果异常与队列数据库适配器相关,它还可能返回Zend_Db_Exception异常。
$options = array(
'name' => 'queue',
'driverOptions' => $options
);
try {
$queue = new Zend_Queue($config->queue->adapter, $options);
} catch (Zend_Queue_Exception $e) {
// handle queue issues
} catch (Zend_Db_Exception $e) {
// handle db issues
}发布于 2011-12-04 04:45:52
我确信Zend_Exception扩展了Exception,所以它只不过是为Zend框架的其余部分限定了异常的范围。这是一件好事,因为如果您不想列出您想要捕获的所有可能的异常(在粒度级别),您可以在不同的级别捕获事物。
https://stackoverflow.com/questions/8370852
复制相似问题