practices practice exceptions custom catch best all java design api exception-handling

custom - java exceptions best practices



Java equivalente a.NET System.InvalidOperationException (1)

Lanza una IllegalStateException :

Señala que un método ha sido invocado en un momento ilegal o inapropiado. En otras palabras, el entorno Java o la aplicación Java no se encuentran en un estado apropiado para la operación solicitada.

No estoy tan familiarizado con los paquetes de excepciones de Java como con los de .NET. Estoy en una situación en la que, si programara en C #, lanzaría una System.InvalidOperationException .

Antes de crear mi propia subclase java.lang.RuntimeException , necesito saber si hay un tipo de excepción similar que debería arrojar en Java.

El escenario exacto es:

Mi clase es un objeto de valor que proporciona un int intValue() , que devuelve un int. Sin embargo, en algunas situaciones, el valor actual no se puede proporcionar como int, por lo que esta clase también proporciona un boolean isInteger() para permitir que los usuarios de la API sepan cuándo intValue() se puede invocar de forma segura.

Si un llamante llama a intValue() cuando isInteger() es false , se debe lanzar una excepción.

Y la pregunta es: ¿qué tipo de excepción?

Sé que esta pregunta podría no tener una respuesta correcta , pero teniendo en cuenta que no tengo mucha experiencia en el diseño de API de Java, quiero saber de otros desarrolladores de Java qué esperarían de este escenario.

Gracias