Yii2 Где отловить исключение, выброшенное из модуля начальной загрузки? - PullRequest
0 голосов
/ 03 мая 2018

В моей конфигурации у меня есть собственный класс начальной загрузки для извлечения данных

'bootstrap' => [
    [
        'class' => 'app\components\DataProvider',
        'campaignJsonUrl' => 'https://example.com/api.json',
    ],
],

И я хотел бы отловить исключения, например, для недостижимого URL или недействительного json. Но я не могу понять, где их поймать.

Я сделал собственный обработчик ошибок:

'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)

...