79 votes

Java équivalent .NET Système.InvalidOperationException

Je ne suis pas familier avec Java exceptions de paquets, comme avec celles de .NET. Je suis dans une situation où, si la programmation en C#, je voudrais jeter un System.InvalidOperationException.

Avant de créer mon propre java.lang.RuntimeException sous-classe, j'ai besoin de savoir si il y a une exception similaire de type I doivent jeter Java.

Le scénario exact est:

Ma classe est un objet de valeur qui fournit un int intValue() méthode, en retournant un int. Toutefois, dans certaines situations, la valeur actuelle ne peut pas être offert comme un int, donc cette classe fournit également un boolean isInteger() pour autoriser les utilisateurs de l'API de savoir quand intValue() peut être appelée en toute sécurité.

Si un appelant appelle intValue() lorsque isInteger() est false, une exception doit être levée.

Et la question est: Quel type d'exception?

Je sais que cette question peut ne pas avoir de corriger la réponse, mais vu que je n'ai pas beaucoup d'expérience dans la conception des Api Java, je veux savoir d'autres développeurs Java à ce qu'ils s'attendent à être jeté dans ce scénario.

merci

90voto

Jon Skeet Points 692016

Jetez un IllegalStateException:

Les signaux qu'une méthode a été invoquée au illégale ou inappropriée de temps. En d'autres termes, l'environnement Java ou d'une application Java n'est pas dans un état approprié à la demande le fonctionnement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X