EN · DE · RU · FR · ES

#2782: EventNotFoundException.java

projectforge-wicket/src/main/java/net/ftlines/wicket/fullcalendar/EventNotFoundException.java Excepción Java (Dominio FullCalendar) · projectforge-wicket/src/main/java/net/ftlines/wicket/fullcalendar/EventNotFoundException.java 44 líneas · 6 código · 33 comentarios · 5 en blanco
Una excepción de runtime tipada que se lanza cuando EventManager no puede localizar un evento de calendario por su ID. Extiende RuntimeException (no verificada) con un único constructor que acepta un mensaje de error. Esta excepción forma parte del vocabulario de excepciones de dominio del módulo FullCalendar — permite a los llamadores más arriba en la pila de manejo de callbacks de Wicket distinguir "evento no encontrado" de "fuente de evento no encontrada" y de fallos de infraestructura, y manejar cada caso adecuadamente (típicamente enviando un comando de reversión al cliente).

Arquitectura

¿Por qué RuntimeException?

La excepción extiende RuntimeException en lugar de una excepción verificada porque normalmente se lanza desde dentro de los manejadores de callbacks Ajax de Wicket, donde las excepciones verificadas complicarían el contrato del callback. El framework Ajax de Wicket ya tiene manejo de excepciones a nivel de comportamiento — una excepción no verificada se propaga naturalmente a través de la cadena de callbacks y puede ser capturada por un manejador de errores genérico que envía una respuesta de fallo al cliente.

Relación con EventSourceNotFoundException

Junto con EventSourceNotFoundException (archivo #2785), esto forma una jerarquía de excepciones de dos niveles para la cadena de búsqueda. La excepción de fuente se dispara cuando un UUID no coincide con ninguna fuente registrada; la excepción de evento se dispara cuando la fuente existe pero no contiene el evento especificado. Los llamadores pueden capturar la excepción de fuente para manejar escenarios de fuente faltante (por ejemplo, la fuente fue eliminada entre el renderizado y el callback) por separado de escenarios de evento faltante (por ejemplo, el evento fue eliminado por otro usuario).

Historial Git

CommitQué cambió
868d6abb7 a ceb63e8a1Seis actualizaciones anuales de encabezado de derechos de autor. La clase de excepción nunca ha sido modificada más allá de su creación inicial — su diseño mínimo (constructor que acepta una cadena de mensaje, sin campos adicionales) es suficiente para todos los escenarios de fallo de búsqueda.