Menu
Coddy logo textTech

Własne wyjątki

Część sekcji Logika i przepływ sterowania ścieżki Java w Coddy. Lekcja 43 z 59.

Możesz utworzyć własną klasę wyjątków, rozszerzając klasę Exception. Jest to przydatne, gdy musisz obsługiwać określone typy błędów w swojej aplikacji.

Oto jak utworzyć własny wyjątek:

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

A oto jak tego użyć:

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

Po wykonaniu powyższego kodu z age = -5 program zgłasza wyjątek:

AgeException: Invalid age: -5

challenge icon

Wyzwanie

Łatwy

Utwórz niestandardową klasę wyjątku o nazwie EmailException oraz metodę o nazwie validateEmail, która przyjmuje jeden argument:

  1. String (email) do sprawdzenia

Metoda powinna zgłaszać niestandardowy wyjątek z następującymi komunikatami:

  • Jeśli email ma wartość null: "Email cannot be null"
  • Jeśli email jest pusty: "Email cannot be empty"
  • Jeśli email nie zawiera znaku @: "Email must contain @"
  • Jeśli email nie zawiera żadnego tekstu przed znakiem @: "Email must have a local part"
  • Jeśli sprawdzanie się powiedzie: zwróć "Valid email"

Spróbuj swoich sił

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 {
        // Napisz tutaj swój kod
    }
    
    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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ sterowania

Poćwicz samodzielnie: Kompilator Java online