Menu
Coddy logo textTech

Eigene Ausnahmen

Teil des Abschnitts Logik & Ablauf der Java-Journey von Coddy — Lektion 43 von 59.

Sie können Ihre eigene Ausnahmeklasse erstellen, indem Sie die Exception-Klasse erweitern. Dies ist nützlich, wenn Sie spezifische Arten von Fehlern in Ihrer Anwendung behandeln müssen.

Hier ist, wie man eine benutzerdefinierte Ausnahme erstellt:

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

Und hier ist, wie man es verwendet:

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

Nach der Ausführung des obigen Codes mit age = -5 wirft das Programm:

AgeException: Invalid age: -5

challenge icon

Aufgabe

Einfach

Erstellen Sie eine benutzerdefinierte Ausnahmeklasse namens EmailException und eine Methode namens validateEmail, die ein Argument nimmt:

  1. Ein String (email) zur Validierung

Die Methode sollte Ihre benutzerdefinierte Ausnahme mit diesen Nachrichten werfen:

  • Wenn email null ist: "Email cannot be null"
  • Wenn email leer ist: "Email cannot be empty"
  • Wenn email kein @ enthält: "Email must contain @"
  • Wenn email keinen Text vor dem @ enthält: "Email must have a local part"
  • Wenn die Validierung erfolgreich ist: return "Valid email"

Spickzettel

Erstellen Sie benutzerdefinierte Ausnahmen, indem Sie die Exception-Klasse erweitern:

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

Benutzerdefinierte Ausnahmen mit dem throw-Schlüsselwort werfen:

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

Probier es selbst

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 {
        // Schreibe deinen Code hier
    }
    
    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 iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf