web-dev-qa-db-fra.com

Quelle est l'exception standard à introduire dans Java pour les opérations non prises en charge / implémentées?

En particulier, existe-t-il une sous-classe standard Exception utilisée dans ces circonstances?

265
Krishna Kumar

Java.lang.UnsupportedOperationException

Lancé pour indiquer que l'opération demandée n'est pas prise en charge.

384
dfa

Faites la distinction entre les deux cas que vous avez nommés:

  • Pour indiquer que l'opération demandée n'est pas prise en charge et ne le fera probablement jamais, lancez un UnsupportedOperationException .

  • Pour indiquer que l'opération demandée n'a pas encore été implémentée, choisissez entre ceci:

    1. Utilisez le NotImplementedException de Apache commons-lang disponible dans commons- lang2 et a été ré-ajouté à commons-lang3 dans la version 3.2.

    2. Implémentez votre propre NotImplementedException.

    3. Lancer une UnsupportedOperationException avec un message du type "Pas encore implémenté".

204
steffen

Si vous créez une nouvelle fonction (pas encore implémentée) dans NetBeans , il génère un corps de méthode avec l'instruction suivante:

throw new Java.lang.UnsupportedOperationException("Not supported yet.");

Par conséquent, je recommande d'utiliser nsupportedOperationException .

19
Benny Neugebauer

Si vous voulez plus de précision et une meilleure description, vous pouvez utiliser NotImplementedException from commons-lang

Avertissement: disponible avant les versions 2.6 et après les versions 3.2 uniquement.

10
Guillaume