为什么有必要在Zend Framework中使用它,它会带来哪些好处?为什么不直接使用普通的php异常?
答案 0 :(得分:3)
当您捕获异常时,可以使用异常的类名,并且可以以不同方式处理不同类型的异常。通常,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
}
答案 1 :(得分:2)
我确信Zend_Exception
扩展Exception
,所以它只不过是Zend框架其余部分的范围限定范围。这是一件好事,因为如果你不想列出你想要捕获的所有可能的异常(在粒度级别),你可以捕获不同级别的东西。