Menu
Coddy logo textTech

Eine benutzerdefinierte Exception erstellen

Teil des Abschnitts Logik & Ablauf der PHP-Journey von Coddy — Lektion 56 von 68.

Während die integrierte Exception-Klasse von PHP gut für die allgemeine Fehlerbehandlung funktioniert, bietet das Erstellen eigener benutzerdefinierter Exception-Klassen viel spezifischere und aussagekräftigere Fehlermeldungen. Benutzerdefinierte Exceptions helfen Ihnen dabei, zwischen verschiedenen Arten von Problemen in Ihrem Code zu unterscheiden und diese angemessen zu behandeln.

Um eine benutzerdefinierte Exception zu erstellen, erweitern Sie die Basisklasse Exception von PHP unter Verwendung des Schlüsselworts extends. Diese Vererbung verleiht Ihrer benutzerdefinierten Exception die gesamte Funktionalität der Standard-Exception, während sie es Ihnen ermöglicht, Ihr eigenes spezifisches Verhalten hinzuzufügen oder einfach einen aussagekräftigeren Namen bereitzustellen.

<?php
class InvalidEmailException extends Exception {
    // Die Klasse kann leer sein - sie erbt alles von Exception
}

// Sie können auch benutzerdefinierte Eigenschaften oder Methoden hinzufügen
class CustomException extends Exception {
    public function getCustomMessage() {
        return "Custom error: " . $this->getMessage();
    }
}
?>

Die Stärke benutzerdefinierter Ausnahmen liegt in ihren aussagekräftigen Namen und der Fähigkeit, spezifische Ausnahmetypen abzufangen. Anstatt eine generische Exception abzufangen, können Sie InvalidEmailException, DatabaseConnectionException oder jede andere von Ihnen erstellte benutzerdefinierte Ausnahme abfangen. Dies macht Ihre Fehlerbehandlung präziser und Ihren Code wartbarer.

quiz iconTeste dich selbst

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

quiz iconTeste dich selbst

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

quiz iconTeste dich selbst

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

challenge icon

Aufgabe

Einfach

Sie erhalten eine Eingabe: einen String, der den Namen einer Exception-Klasse darstellt. Diese Eingabe ist ein einzelnes Wort, das als Name für Ihre benutzerdefinierte Exception-Klasse verwendet werden soll (Beispiel: NegativeBalanceException oder InvalidUsernameException).

Lesen Sie die Eingabe und erstellen Sie eine benutzerdefinierte Exception-Klasse unter Verwendung des angegebenen Namens. Ihre benutzerdefinierte Exception-Klasse sollte die Basisklasse Exception von PHP erweitern. Geben Sie nach dem Erstellen der Klasse "Custom exception created: " gefolgt von dem Klassennamen aus, den Sie als Eingabe erhalten haben.

Eingabeformat: Eine Zeile, die einen String enthält, der den Namen der Exception-Klasse darstellt (Beispiel: InvalidAgeException)

Erwartete Ausgabe: Custom exception created: gefolgt von dem Namen der Exception-Klasse

Spickzettel

Um benutzerdefinierte Exceptions in PHP zu erstellen, erweitern Sie die Basis-Exception-Klasse mit dem extends-Schlüsselwort:

<?php
class InvalidEmailException extends Exception {
    // Die Klasse kann leer sein - sie erbt alles von Exception
}

// Sie können auch benutzerdefinierte Eigenschaften oder Methoden hinzufügen
class CustomException extends Exception {
    public function getCustomMessage() {
        return "Custom error: " . $this->getMessage();
    }
}
?>

Benutzerdefinierte Exceptions bieten spezifischere und aussagekräftigere Fehlermeldungen, was es Ihnen ermöglicht, spezifische Exception-Typen anstelle von generischen Exception-Objekten abzufangen. Dies macht die Fehlerbehandlung präziser und den Code wartbarer.

Probier es selbst

<?php
// Den Namen der Exception-Klasse lesen
$className = trim(fgets(STDIN));

// TODO: Schreiben Sie unten Ihren Code, um die benutzerdefinierte Exception-Klasse zu erstellen


// Das Ergebnis ausgeben
echo "Custom exception created: " . $className;
?>
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