ErrorHandler
Класс ErrorHandler — это изолированный инструмент для отлова, форматирования и отправки информации об ошибках. Он работает на уровне всего PHP-процесса, перехватывая не только исключения библиотеки, но и фатальные ошибки движка (например, синтаксические ошибки или нехватку памяти).
Создание экземпляра
Для работы дебаггера необходимо создать его экземпляр, передав токен бота, который будет отправлять отчеты.
use ZenithGram\ZenithGram\ErrorHandler;
$debugger = new ErrorHandler("BOT_TOKEN");Методы класса
register
Активирует глобальный перехват ошибок. После вызова этого метода любые необработанные исключения и фатальные ошибки будут автоматически обрабатываться дебаггером.
$debugger->register();setSendIds
Метод задаёт пользователей или чаты, которым будет отправлена отформатированная информация о возникших ошибках.
| # | Название | Тип | Описание |
|---|---|---|---|
| 1 | ids | int|string|array | ID пользователей/чатов для получения отчетов |
$debugger->setSendIds(123456789);
$debugger->setSendIds([123456789, 987654321]);setHandler
Позволяет установить кастомный обработчик. В функцию будет передан объект ZG (даже если ошибка произошла вне контекста апдейта) и само исключение Throwable.
| # | Название | Тип | Описание |
|---|---|---|---|
| 1 | handler | callable | Функция-обработчик: function(ZG $tg, Throwable $e) |
$debugger->setHandler(function(ZG $tg, Throwable $e) {
$tg->msg("У нас проблемы: " . $e->getMessage())->send('ADMIN_ID');
});shortTrace
Настраивает фильтрацию стека вызовов, скрывая мусор из папки vendor.
| # | Название | Тип | Описание |
|---|---|---|---|
| 1 | enable | bool | true — только ваш код, false — полный стек (по умолчанию). |
setTracePathFilter
Скрывает часть пути к файлам в отчете (например, путь к корню проекта).
$debugger->setTracePathFilter('/var/www/my-bot/');