EventNotFoundException.javaEventManager не может найти событие календаря по его идентификатору. Расширяет RuntimeException (непроверяемое) с единственным конструктором, принимающим сообщение об ошибке. Это исключение является частью словаря доменных исключений модуля FullCalendar — оно позволяет вызывающим объектам выше в стеке обработки обратных вызовов Wicket различать «событие не найдено», «источник событий не найден» и инфраструктурные сбои, а также обрабатывать каждый случай соответствующим образом (обычно отправляя команду отмены клиенту).
Исключение расширяет RuntimeException, а не проверяемое исключение, поскольку оно обычно выбрасывается из обработчиков обратных вызовов Ajax в Wicket, где проверяемые исключения усложнили бы контракт обратного вызова. Ajax-фреймворк Wicket уже имеет обработку исключений на уровне поведения — непроверяемое исключение естественным образом распространяется по цепочке обратных вызовов и может быть перехвачено универсальным обработчиком ошибок, который отправляет ответ об ошибке клиенту.
Вместе с EventSourceNotFoundException (файл #2785) это образует двухуровневую иерархию исключений для цепочки поиска. Исключение источника срабатывает, когда UUID не соответствует ни одному зарегистрированному источнику; исключение события срабатывает, когда источник существует, но не содержит указанного события. Вызывающие объекты могут перехватывать исключение источника для обработки сценариев отсутствия источника (например, источник был удалён между рендерингом и обратным вызовом) отдельно от сценариев отсутствия события (например, событие было удалено другим пользователем).
| Коммит | Что изменилось |
|---|---|
868d6abb7 – ceb63e8a1 |
Шесть ежегодных обновлений заголовков авторских прав. Класс исключения никогда не изменялся после первоначального создания — его минимальный дизайн (конструктор, принимающий строку сообщения, без дополнительных полей) достаточен для всех сценариев сбоя поиска. |