Menu
Coddy logo textTech

Eccezioni personalizzate

Fa parte della sezione Logica e flusso del percorso Java di Coddy. Lezione 43 di 59.

Puoi creare la tua classe di eccezione estendendo la classe Exception. È utile quando devi gestire tipi specifici di errori nella tua applicazione.

Ecco come creare un'eccezione personalizzata:

public class AgeException extends Exception {
   public AgeException(String message) {
       super(message);
   }
}

Ed ecco come usarla:

if (age < 0) {
   throw new AgeException("Invalid age: " + age);
}

Dopo aver eseguito il codice precedente con age = -5, il programma lancia:

AgeException: Invalid age: -5

challenge icon

Sfida

Facile

Crea una classe di eccezione personalizzata denominata EmailException e un metodo denominato validateEmail che accetta un argomento:

  1. Una Stringa (email) da convalidare

Il metodo deve generare la tua eccezione personalizzata con questi messaggi:

  • Se l'email è null: "Email cannot be null"
  • Se l'email è vuota: "Email cannot be empty"
  • Se l'email non contiene @: "Email must contain @"
  • Se l'email non contiene testo prima di @: "Email must have a local part"
  • Se la convalida ha esito positivo: restituisci "Valid email"

Provalo tu

import java.util.Scanner;

class EmailException extends Exception {
    public EmailException(String message) {
        super(message);
    }
}

public class Main {
    public static String validateEmail(String email) throws EmailException {
        // Scrivi il tuo codice qui
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String email = scanner.nextLine();
        if (email.equals("null")) {
            email = null;
        }
        
        try {
            System.out.println(validateEmail(email));
        } catch (EmailException e) {
            System.out.println(e.getMessage());
        }
    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Java online