📢 Nuovo Corso Bootstrap Completo disponibile!

Eccezioni in Java

Le eccezioni sono un concetto fondamentale nella gestione degli errori e delle situazioni impreviste in Java. Consentono di gestire in modo strutturato eventuali problemi che possono verificarsi durante l’esecuzione di un programma. In questa lezione, esploreremo il concetto di eccezioni, impareremo come utilizzarle con le istruzioni try-catch, esamineremo la sintassi e vedremo esempi pratici di gestione delle eccezioni.

Concetto di Eccezioni

Le eccezioni rappresentano situazioni anomale o errori che si verificano durante l’esecuzione di un programma. Possono essere causate da input errati, errori di calcolo, problemi di accesso ai file e altro ancora. La gestione delle eccezioni consente di prevedere e trattare queste situazioni in modo appropriato.

Utilizzo delle Istruzioni Try-Catch

Le istruzioni try-catch sono utilizzate per catturare ed elaborare eccezioni. Il blocco “try” contiene il codice che potrebbe generare eccezioni, mentre il blocco “catch” gestisce le eccezioni catturate, eseguendo un’azione appropriata.

Sintassi delle Istruzioni Try-Catch:

try {
// Codice che potrebbe generare eccezioni
} catch (TipoEccezione e) {
// Gestione dell'eccezione
}

Utilizzo della Parola Chiave “finally”

La parola chiave “finally” è utilizzata per definire un blocco di codice che verrà eseguito sempre, indipendentemente dal fatto che si sia verificata o meno un’eccezione nel blocco “try”.

Sintassi con “finally”:

try {
// Codice che potrebbe generare eccezioni
} catch (TipoEccezione e) {
// Gestione dell'eccezione
} finally {
// Codice che verrà eseguito sempre
}

Esempi Pratici di Gestione delle Eccezioni

Esempio 1: Divisione per Zero

try {
int risultato = 10 / 0; // Genera una ArithmeticException
} catch (ArithmeticException e) {
System.out.println("Errore: Divisione per zero.");
}

Esempio 2: Accesso a un File Inesistente

try {
FileReader file = new FileReader("file.txt"); // Genera una FileNotFoundException
} catch (FileNotFoundException e) {
System.out.println("Errore: File non trovato.");
}

Lanciare Eccezioni Personalizzate

È possibile lanciare eccezioni personalizzate utilizzando l’istruzione “throw”. Questo è utile quando si desidera rappresentare situazioni specifiche nel proprio codice.

Sintassi per Lanciare un’Eccezione Personalizzata:

if (condizione) {
throw new TipoEccezione("Messaggio di errore");
}

Esempio: Lanciare un’Eccezione Personalizzata

public class MiaEccezione extends Exception {
public MiaEccezione(String messaggio) {
super(messaggio);
}
}
public class Main {
public static void main(String[] args) {
try {
throw new MiaEccezione("Questo è un errore personalizzato.");
} catch (MiaEccezione e) {
System.out.println("Errore: " + e.getMessage());
}
}
}

Conclusione

La gestione delle eccezioni è fondamentale per scrivere codice affidabile e robusto. Utilizzare le istruzioni try-catch consente di anticipare e affrontare eventuali errori o situazioni impreviste, migliorando la qualità dell’applicazione. L’utilizzo del blocco “finally” e la possibilità di lanciare eccezioni personalizzate ampliano ulteriormente la tua capacità di gestire le situazioni problematiche in modo efficace.