In Java, Throwable è la superclasse di tutti gli oggetti che possono essere lanciati come eccezioni o errori. Tutti gli oggetti che rappresentano un problema durante l’esecuzione di un programma devono derivare da Throwable. Qualsiasi oggetto che si voglia lanciare con throw o intercettare con catch deve essere un’istanza di una sottoclasse di Throwable.
Package: java.lang
GERARCHIA DI Throwable
java.lang.Object
└── java.lang.Throwable
├── java.lang.Error
└── java.lang.ExceptionQuesta superclasse ha due sottoclassi principali:
- Error: problemi gravi e generalmente non recuperabili
- Exception: condizioni anomale che il programma può gestire
COSTRUTTORI E METODI PRINCIPALI DI Throwable
Le classi che estendono Throwable ereditano questi metodi utili per analizzare e stampare l’errore/eccezione:
| Metodo | Descrizione |
|---|---|
getMessage() | Restituisce il messaggio dell’eccezione |
getCause() | Restituisce la causa radice dell’eccezione |
printStackTrace() | Stampa il trace dello stack dove è avvenuto l’errore |
toString() | Restituisce una stringa con tipo e messaggio |
Esempio:
try {
throw new IllegalArgumentException("Parametro non valido");
} catch (Throwable t) {
System.out.println("Errore: " + t.getMessage());
t.printStackTrace();
}