首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >捕获ServiceManager异常

捕获ServiceManager异常
EN

Stack Overflow用户
提问于 2014-08-13 17:32:45
回答 1查看 66关注 0票数 0

当我使用服务管理器获取一个在初始化过程中抛出异常的对象时,我无法用简单的:

代码语言:javascript
复制
try {
    $hybridAuth = $this->getServiceManager()->get('HybridAuth');
}
catch (Exception $e) {
    var_dump('catched');
}

相反,Zend用著名的“错误发生”页面捕获异常。

它显示了抛出的异常的“滚雪球”(因为服务无法初始化,而其他服务则依赖于等等)

我如何捕获异常(然后放入一些代码逻辑)以防止Zend捕获它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-13 18:16:24

我认为您的问题不在于如何捕获ServiceManager异常。

你这样做是错误的:

代码语言:javascript
复制
catch (Exception $e)

将捕获当前命名空间中的异常。您需要的是捕获PHP全局异常。您有与这个one相同的问题。

通过以下代码更改您的代码:

代码语言:javascript
复制
try {
     $hybridAuth = $this->getServiceManager()->get('HybridAuth');
    }
catch (\Exception $e) {
    var_dump('catched');
   }

或通过添加以下内容导入全局php异常:

代码语言:javascript
复制
use \Exception;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25292610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档