在我的配置中,我有一个自定义类引导来获取数据
'bootstrap' => [
[
'class' => 'app\components\DataProvider',
'campaignJsonUrl' => 'https://example.com/api.json',
],
],
我想捕获例如一个无法访问的url或无效的json的异常throwns。但我无法弄清楚在哪里捕捉这些。
我制作了一个自定义错误处理程序:
'errorHandler' => [
// use 'site/error' action to display errors
'class' => 'app\components\ErrorHandler',
'errorAction' => 'site/error',
],
如果我覆盖它,错误似乎达到了ErrorHandler.renderException()
方法,但它永远不会到达SiteController.actionError()
方法,我想因为它发生在任何控制器操作之前。如何让ErrorHandler运行SiteController.actionError()
,以便它显示网站错误页面的正确布局?
注意:我重写的renderException()方法只将异常发送给Slack API然后返回parent::renderException($exception)