处理Zend View助手中的错误

时间:2011-05-18 12:54:21

标签: zend-framework error-handling

当我在View Helper中抛出异常时,它不会被ErrorController捕获。 (我得到一条关于未被捕获的异常的丑陋信息。)

我在某处读到ErrorController没有捕获插件中的错误。这同样适用于View Helpers吗?

在View Helper中处理异常的最佳策略是什么?

谢谢!

2 个答案:

答案 0 :(得分:1)

问题在于错误是由ErrorHandler插件处理的。因此,如果发生任何错误,iad HAS将在errorHandler调用之后发生。因此,如果您的任何插件先前失败,则注册errorHandler,它将无法正常工作。 errorHandler的功能AFAIK没有其他例外。

答案 1 :(得分:1)

由于它没有被错误控制器捕获的原因,我不是百分百肯定,但这是我最好的猜测,而不是更多地考虑:

视图是从ViewRenderer插件或Zend_Layout插件呈现的,如果它是一个布局,所以这可能就是你收到错误信息的原因 - 如你所说,从插件中抛出的异常没有被正确地捕获到错误中控制器。

您可能应该将视图中的错误视为编程错误,因此您可能会抛出一般的“应用程序错误”类型的错误消息。您可以通过使用set_error_handler / set_exception_handler

来实现此目的