В моей конфигурации у меня есть собственный класс начальной загрузки для извлечения данных
'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)