Tengo un método que toma una enumeración como parámetro y devuelve cierta información que depende de ese parámetro. Sin embargo, esa enumeración contiene algunos valores que no deberían manejarse, y debería generar una condición de error. Actualmente, el método arroja una IllegalArgumentException, pero me gustaría que fuera una excepción comprobada para obligar a las personas que llaman a atraparla (y regresar con gracia, registrando un error). ¿Hay algo adecuado o debería crear mi propia subclase Exception?equivalente comprobado a IllegalArgumentException?
Estoy abierto a otros patrones también. Una reacción razonable sería que se deben manejar todos los valores de la enumeración, pero ese no es el caso. Cuando se agrega un nuevo valor a la enumeración, quiero asegurarme de que este método haga lo correcto: alertar a un ser humano es preferible a usar algún valor de retorno predeterminado en este caso.
Gracias por cualquier consejo.
Aparece la pregunta principalmente sobre cómo forzar el manejo de un argumento ilegal (independientemente de si es una enumeración). No tiene que atrapar o declarar excepciones _unchecked_, como 'IllegalArgumentException'. Esta respuesta sugiere crear o reutilizar una excepción _checked_ existente, que el compilador aplicará. Esta es la forma en que la mayoría de las personas lo abordan. –