Готова обработка ошибок

Обсуждаем разработку фреймворка: дизайн компонентов, API, пакеты
Ответить
Аватара пользователя
samdark
Администратор
Сообщения: 9041
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Готова обработка ошибок

Сообщение samdark » 2019.07.10, 13:48

Закончил портировать обработчик ошибок из Yii 2. Большинство фич переехали в том же виде, но есть и немного изменений.

Все ошибки конвертируются в исключения как это и было в Yii 2:

Изображение

Фаталы отлавливаются:

Изображение

Out of memory тоже:

Изображение

Конечно, обычные исключения, также ловятся:

Изображение

Если есть контекст запроса, выводится информация о нём. Формат совместим с PhpStorm editor-HTTP client.

Изображение

Ну и логи:

Код: Выделить всё

2019-07-09 21:56:43.770100 [error][application] ErrorException (Warning) with message 'Division by zero' 

in D:\dev\yii-dev\dev\yii-demo\src\Controller\SiteController.php:28

Stack trace:
#0 D:\dev\yii-dev\dev\yii-demo\src\Controller\SiteController.php(28): Yiisoft\Yii\Web\ErrorHandler\ErrorHandler->handleError(2, 'Division by zer...', 'D:\\dev\\yii-dev\\...', 28, Array)
#1 D:\dev\yii-dev\dev\injector\src\Injector.php(53): App\Controller\SiteController->index(Object(Nyholm\Psr7\ServerRequest), Object(Yiisoft\Yii\Web\MiddlewareDispatcher))
#2 D:\dev\yii-dev\dev\yii-web\src\Middleware\ActionCaller.php(33): Yiisoft\Injector\Injector->invoke(Array, Array)
#3 D:\dev\yii-dev\dev\router\src\Route.php(259): Yiisoft\Yii\Web\Middleware\ActionCaller->process(Object(Nyholm\Psr7\ServerRequest), Object(Yiisoft\Yii\Web\MiddlewareDispatcher))
#4 D:\dev\yii-dev\dev\router\src\MatchingResult.php(57): Yiisoft\Router\Route->process(Object(Nyholm\Psr7\ServerRequest), Object(Yiisoft\Yii\Web\MiddlewareDispatcher))
#5 D:\dev\yii-dev\dev\router\src\Middleware\Router.php(31): Yiisoft\Router\MatchingResult->process(Object(Nyholm\Psr7\ServerRequest), Object(Yiisoft\Yii\Web\MiddlewareDispatcher))
#6 D:\dev\yii-dev\dev\yii-web\src\MiddlewareDispatcher.php(72): Yiisoft\Router\Middleware\Router->process(Object(Nyholm\Psr7\ServerRequest), Object(Yiisoft\Yii\Web\MiddlewareDispatcher))
#7 D:\dev\yii-dev\dev\yii-web\src\Middleware\ErrorCatcher.php(76): Yiisoft\Yii\Web\MiddlewareDispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#8 D:\dev\yii-dev\dev\yii-web\src\MiddlewareDispatcher.php(72): Yiisoft\Yii\Web\Middleware\ErrorCatcher->process(Object(Nyholm\Psr7\ServerRequest), Object(Yiisoft\Yii\Web\MiddlewareDispatcher))
#9 D:\dev\yii-dev\dev\yii-web\src\Application.php(47): Yiisoft\Yii\Web\MiddlewareDispatcher->handle(Object(Nyholm\Psr7\ServerRequest))
#10 D:\dev\yii-dev\dev\yii-demo\public\index.php(23): Yiisoft\Yii\Web\Application->run()
#11 D:\dev\yii-dev\dev\yii-demo\public\index.php(24): {closure}()
#12 {main}

Аватара пользователя
yiijeka
Сообщения: 3049
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: Готова обработка ошибок

Сообщение yiijeka » 2019.07.10, 13:50

Клёво

Loveorigami
Сообщения: 953
Зарегистрирован: 2014.08.27, 21:54

Re: Готова обработка ошибок

Сообщение Loveorigami » 2019.07.10, 15:18

Это можно где-то глянуть? Ну что нового?

Аватара пользователя
samdark
Администратор
Сообщения: 9041
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Готова обработка ошибок

Сообщение samdark » 2019.07.11, 17:30

Можно. yii-demo поставить.

Ответить