Ошибки¶
Каждое исключение библиотеки:
- реализует
Selyusize\EventsRouter\Contract\Exception\ExceptionInterface, поэтому любую ошибку роутера можно поймать однимcatch; - содержит в тексте ссылку на свою страницу в этом разделе: что произошло, почему и как исправить.
<?php
use Selyusize\EventsRouter\Contract\Exception\ExceptionInterface;
try {
$events->dispatch($event);
} catch (ExceptionInterface $error) {
// ошибка конфигурации или работы роутера, текст содержит ссылку на документацию
}
| Исключение | Когда возникает |
|---|---|
InvalidEventName |
имя события не является корректным топиком |
InvalidTopicPattern |
шаблон топика в маршруте записан с ошибкой |
InvalidRoute |
класс слушателя или middleware в маршруте не найден или не реализует нужный интерфейс |
InvalidConfig |
в EventRouterFactory::create() передан неизвестный ключ конфига или значение не того типа |
UnmappableEvent |
в PSR-14 адаптер передан объект без EventInterface, а маппера нет |
С 'locale' => 'en' сообщения на английском, а ссылки ведут на эти же страницы, см. Конфигурацию.
Страницы появляются вместе с исключениями: CI не пропустит исключение без страницы.