Originariamente inviato da roxnsr
lo so!!cmq era un programma che volevo fare io per vedere se ero riuscito a capire come si faceva a creare una nuova eccezione!potresti spiegarmelo?
codice:
public class TuaNuovaException extends Exception {
public TuaNuovaException() {
super();
}
public TuaNuovaException(String message) {
super(message);
}
public TuaNuovaException(String message, Throwable cause) {
super(message, cause);
}
public TuaNuovaException(Throwable cause) {
super(cause);
}
}
Tutto qui. Se vai a vedere la documentazione di java.lang.Exception, vedi che TuaNuovaException che ho scritto offre gli stessi tipi di costruttori di Exception. Non si è obbligati ad averli tutti e quattro!!! ... io ho fatto solo l'esempio completo. Dipende sempre dal "significato" della tua eccezione. Se in tuo metodo invochi altri metodi che possono lanciare svariate eccezioni ma vuoi che dal tuo metodo esca solo TuaNuovaException, allora in tal caso puoi incapsulare ogni eccezione dentro la tua e quindi ti saranno utili i costruttori che ricevono un Throwable.
Altrimenti si potrebbe fare anche es.
codice:
public class TuaNuovaException extends Exception {
public TuaNuovaException() {
super("Messaggio fisso");
}
}
In tal caso si presuppone che non hai bisogno di "personalizzare" in alcun modo la eccezione.
Se extendi RuntimeException (o sua sottoclasse), la eccezione diventa "unchecked".