当我使用服务管理器获取一个在初始化过程中抛出异常的对象时,我无法用简单的:
try {
$hybridAuth = $this->getServiceManager()->get('HybridAuth');
}
catch (Exception $e) {
var_dump('catched');
}相反,Zend用著名的“错误发生”页面捕获异常。

它显示了抛出的异常的“滚雪球”(因为服务无法初始化,而其他服务则依赖于等等)
我如何捕获异常(然后放入一些代码逻辑)以防止Zend捕获它?
发布于 2014-08-13 18:16:24
我认为您的问题不在于如何捕获ServiceManager异常。
你这样做是错误的:
catch (Exception $e)将捕获当前命名空间中的异常。您需要的是捕获PHP全局异常。您有与这个one相同的问题。
通过以下代码更改您的代码:
try {
$hybridAuth = $this->getServiceManager()->get('HybridAuth');
}
catch (\Exception $e) {
var_dump('catched');
}或通过添加以下内容导入全局php异常:
use \Exception;https://stackoverflow.com/questions/25292610
复制相似问题