NullPointerException* Vous avez tenté d'accéder à un objet (soit un champ ou une méthode d'un objet). Ceci a échoué parce que la référence utilisée avait la valeur 'null'. Par exemple : Vous écrivez "thing.print()", et "thing" est 'null'. ArithmeticException* Quelque chose a cloché pendant un calcul arithmétique, comme une division par zéro ou un débordement de valeur entière. StringIndexOutOfBoundsException* Vous avez tenté d'accéder à un caractère ou à une sous-chaîne d'une chaîne de caractères, et l'indice utilisé n'existe pas dans cette chaîne. Par exemple, le cinquième caractère d'une chaîne qui n'en compte que trois. Dans le cas de la méthode 'substring', le second paramètre spécifie l'indice du premier caractère au delà de la fin de la sous-chaîne et non sa longueur. ClassCastException* Vous avez tenté de forcer le type - d'assigner un type statique différent à un objet, comme dans cet exemple : (String)someObject Le type de "someObject" est forcé à "String". Ceci n'est légal que si le type de l'objet contenu dans "someObject" est String ou un sous-type de String. En d'autres mots : vous pouvez forcer le type d'un objet à T seulement si l'objet est de type T ou un de ses sous-types. IndexOutOfBoundsException* Un index quelconque (dans un tableau, une chaîne ou un vecteur) déborde. Il y a débordement lorsque l'indice n'existe pas dans le tableau ou collection (e.g. vous spécifiez l'élément 5, mais il n'en existe que trois). ArrayIndexOutOfBoundsException* Un indice dans un tableau déborde. Il y a débordement lorsque l'indice n'existe pas dans le tableau (e.g. vous spécifiez l'élément 5, mais il n'en existe que trois). Les indices courent de 0 à longueur-1. ConcurrentModificationException* Tandis que vous itériez sur une collection, elle a été modifiée, d'où problème. Vous ne pouvez pas modifier une collection pendant une itération. Ni l'inverse : vous ne pouvez pas poursuivre une itération après avoir modifié une collection. La seule modification permise pendant une itération est la suppression d'éléments à l'aide de la méthode "remove" de l'itérateur (et non celle de la collection elle-même). AssertionError* Une assertion a échoué. Ce qui veut dire que l'expression argument de "assert" assert(assertion-expression) a la valeur 'false'. L'assertion a pour but de s'assurer de la véracité de l'expression en question, aussi est-ce considéré une erreur. La nature exacte de cette erreur dépend du programme. Vous devriez chercher à savoir pourquoi cela s'est produit. ClassNotFoundException* Une classe nécessaire à l'exécution de cette application est introuvable. Elle était présente lors de la compilation, mais ce n'est plus le cas. Il pourrait y avoir un problème de configuration de votre système Java (s'il s'agit d'une classe système) ou votre projet pourrait être endommagé (des fichiers '.class' sont disparus ou corrompus). Si le problème survient avec d'autres projets, le premier cas est probable - ré-installez le JDK. Sinon, essayez de recompiler votre projet en entier. ArrayStoreException* Vous avez tenté d'assigner un objet d'un certain type à un tableau d'objets d'un autre type. Par exemple, un Integer dans un String[]. CannotRedoException* Vous avez tenté de répéter ou rétablir un changement (méthode 'redo' de javax.swing.text ou javax.swing.undo) et cela s'est avéré impossible. CannotUndoException* Vous avez tenté d'annuler un changement (méthode 'undo' de javax.swing.text ou javax.swing.undo) et cela s'est avéré impossible. CMMException* Une erreur s'est produite dans le CMM (Module de gestion des couleurs). EmptyStackException* Une méthode de la classe 'Stack' a tenté de récupérer un élément de la pile alors que cette dernière était vide. IllegalArgumentException* Une méthode a reçu un argument illégal ou inapproprié. (Erreur générique) IllegalMonitorStateException* Un fil a tenté d'attendre le moniteur d'un objet ou d'aviser d'autres fils attendant le moniteur d'un objet sans être le propriétaire du moniteur en question. IllegalPathStateException* Un chemin géométrique était dans un état illégal pour l'opération tentée. Par exemple, vous tentez d'ajouter (méthode 'append') à un chemin ('GeneralPath') sans avoir d'abord effectué un 'moveto'. IllegalStateException* Une méthode a été invoquée sur un objet qui se trouvait dans un état illégal ou inapproprié pour cette méthode. (Erreur générique) ImagingOpException* Une méthode de filtrage d'image (interfaces 'BufferedImageOp' ou 'RasterOp') a échoué. MissingResourceException* Une ressource nécessaire n'est pas disponible. NegativeArraySizeException* Vous avez tenté de créer un tableau dont au moins une dimension est négative. NoSuchElementException* Vous avez invoqué la méthode 'nextElement' d'une énumération épuisée. ProfileDataException* Une erreur est survenue lors d'un accès à ou d'un traitement sur un profil colorimétrique (objet 'ICC_Profile'). ProviderException* Une erreur est survenue dans un fournisseur de service (objet 'Provider'), comme par exemple un problème de configuration. (Erreur générique) RasterFormatException* Une trame (objet 'Raster') contient des données de disposition invalides. SecurityException* Une violation de sécurité est survenue. (Erreur générique) SystemException* Une exception standard CORBA a été levée. (Erreur générique) UndeclaredThrowableException* Un gestionnaire d'invocation mis en place pour un mandataire quelconque utilise sa méthode 'invoke' pour invoquer les méthodes du mandataire. Si un 'Throwable' est levé qui ne peut être assigné à 'Error', à 'RuntimeException' ni à une des exceptions spécifiées par la clause 'throws' de la méthode invoquée, cette exception l'encapsule. (Du moins c'est ce que je crois avoir compris) UnsupportedOperationException* Une opération non supportée a été demandée. (Erreur générique) Exception Quelque chose est allé de travers. (Erreur générique)