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
Aufgabe
EinfachErstellen Sie eine benutzerdefinierte Ausnahmeklasse namens EmailException und eine Methode namens validateEmail, die ein Argument nimmt:
- 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());
}
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Mehrdimensionale Arrays
Grundlagen der 2D-ArraysZugriff auf 2D-Array-ElementeVerschachtelte Schleifen mit 2D-ArraysZusammenfassung - 2D-ArraysMatrixaddition & SubtraktionJagged Arrays3D-Arrays und darüber hinausGängige 2D-Array-MusterZusammenfassung - Alles über Arrays2HashMap Teil 1
Was ist eine HashMap?Eine HashMap deklarierenWerte abrufenPrüfen, ob ein Schlüssel existiertWörterbücher modifizierenZusammenfassung - HashMap3HashMap Teil 2
HashMap-MethodenMit keySet() iterierenMit entrySet() iterierenVerschachtelte HashMapZusammenfassung - Lager verwaltenZusammenfassung - HashMap-Operationen6Erweiterter Steuerungsfluss
Beschriftete AnweisungenSwitch-AusdruckMusterabgleichSchutzklauselnZusammenfassung - Steuerungsfluss9Projekt - Einzigartiger Wortzähler
Texteingabe und SpeicherungWortverarbeitung