Exception non gérée du Type en JAVA
J'ai deux classes du même package en JAVA.
Une classe dans laquelle j'ai un constructeur une exception, j'ai essayé de créer moi-même:
public class ZooException extends Exception {
public ZooException(String error) {
super(error);
}
}
Une autre classe de besoins à l'appel de cette exception à un point:
public class Zoo<T extends Animal>
Zoo(int capacity) {
if (capacity <= 1) {
throw new ZooException("Zoo capacity must be larger than zero");
}
}
Je remarque deux choses ici
- Dans le ZooException classe, je reçois un avertissement: "La classe sérialisable CageException ne pas déclarer static final serialVersionUID champ de type long"
- Dans le Zoo de la classe, sur la ligne qui commence par "throw new", j'obtiens une erreur de compilation: "une exception non Gérée du type CageException"
Toutes les idées sur ce que je peux faire pour résoudre cette erreur dans le Zoo de la classe? Je vous remercie à l'avance!
À l'aide d'eclipse? À gauche du code, cliquez sur le symbole d'erreur et eclipse vous propose des correctifs pour vous. Si vous sélectionnez l'un, il sera même le faire pour vous.
OriginalL'auteur | 2013-06-02
Vous devez vous connecter pour publier un commentaire.
Étendre
Exception
, un checked exception, cela signifie que toute méthode qui rejette cette exception doit dire:Et tout le code appelant que le constructeur aura à
try {} catch {}
ou de le jeter à nouveau.Si vous ne voulez pas qu'il soit vérifié, l'utilisation
extends RuntimeException
au lieuOriginalL'auteur Will
Sur décoché exceptions @P est droit.
Sur serialVersionUID, cela signifie - depuis l'Exception est Sérialisable si vous à tout moment, décider qu'une version précédente de votre classe devrait être incompatible avec votre version la plus récente ( généralement pour les Api publiques), par exemple, que la classe avait subi de grands changements, il suffit de changer l'id unique, et la lecture d'un objet de la vieille version de lever une exception.
OriginalL'auteur Mordechai
Vous devez déclarer checked exceptions ou de les manipuler avec un try-catch bock. Essayez de faire des lectures sur les exceptions: http://docs.oracle.com/javase/tutorial/essential/exceptions/
OriginalL'auteur Aurand