Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Creazione di Eccezioni Personalizzate | Sezione
Gestione delle Eccezioni in Java

bookCreazione di Eccezioni Personalizzate

Scorri per mostrare il menu

Quando si sviluppano applicazioni Java più complesse, è possibile incontrare situazioni di errore uniche per la logica del proprio programma. Sebbene Java offra molte eccezioni predefinite, a volte nessuna di esse descrive chiaramente il problema specifico che si desidera segnalare. In questi casi, è possibile creare eccezioni personalizzate. Le eccezioni personalizzate consentono di assegnare nomi significativi alle condizioni di errore, rendendo il codice più comprensibile, manutenibile e semplice da eseguire il debug. Definendo eccezioni su misura per le esigenze dell'applicazione, si facilita l'identificazione e la gestione rapida di scenari di errore specifici da parte di altri sviluppatori (e di sé stessi in futuro).

Per creare un'eccezione personalizzata, si definisce una nuova classe che estende la classe Exception oppure la classe RuntimeException. Se l'eccezione deve essere controllata (ovvero il compilatore obbliga a gestirla tramite un blocco try-catch o a dichiararla con throws), si estende Exception. Se invece deve essere non controllata (non imposta dal compilatore), si estende RuntimeException. L'eccezione personalizzata può includere costruttori, campi e metodi come qualsiasi altra classe, ma è prassi comune fornire almeno un costruttore che accetti un messaggio descrittivo dell'errore.

Main.java

Main.java

copy
123456789101112131415161718192021222324
package com.example; class InvalidAgeException extends Exception { public InvalidAgeException(String message) { super(message); } } public class Main { public static void checkAge(int age) throws InvalidAgeException { if (age < 18) { throw new InvalidAgeException("Age must be at least 18."); } System.out.println("Access granted. Age is valid."); } public static void main(String[] args) { try { checkAge(15); } catch (InvalidAgeException e) { System.out.println("Caught exception: " + e.getMessage()); } } }

Nel codice sopra, viene definita un'eccezione controllata personalizzata creando la classe InvalidAgeException, che estende Exception. Questa classe dispone di un costruttore che accetta un messaggio di errore. Il metodo checkAge lancia un'eccezione InvalidAgeException se l'età fornita è inferiore a 18.

Nel metodo main, viene chiamato checkAge(15), che genera l'eccezione. Il blocco try-catch intercetta l'eccezione e stampa il relativo messaggio. Questo schema mostra come sia possibile utilizzare eccezioni personalizzate per gestire condizioni di errore specifiche in modo chiaro e organizzato.

question mark

Cosa bisogna fare per creare un'eccezione controllata personalizzata in Java?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 8

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 1. Capitolo 8
some-alt