Menu
Coddy logo textTech

Der 'try...catch'-Block

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

Wenn Ihr PHP-Code auf Probleme stößt, die zu einem Absturz führen könnten, benötigen Sie eine Möglichkeit, diese Situationen kontrolliert zu handhaben. Der try...catch-Block bietet einen strukturierten Ansatz für den Umgang mit Exceptions – speziellen Fehlerobjekten, die schwerwiegende Probleme in Ihrem Code darstellen.

Der try-Block enthält Code, der fehlschlagen oder eine Exception auslösen könnte. Wenn innerhalb dieses Blocks eine Exception auftritt, stoppt PHP sofort die Ausführung des verbleibenden Codes im try-Block und springt zum entsprechenden catch-Block. Der catch-Block verarbeitet die Exception, sodass Ihr Skript weiterlaufen kann, anstatt abzustürzen.

<?php
try {
    // Code, der eine Exception auslösen könnte
    $result = riskyFunction();
    echo "Success!";
} catch (Exception $e) {
    // Die Exception behandeln
    echo "An error occurred: " . $e->getMessage();
}
?>

Der catch-Block erhält ein Exception-Objekt, das Informationen darüber enthält, was schiefgelaufen ist. Sie können auf die Fehlermeldung mit der Methode getMessage() zugreifen. Dieser Ansatz verhindert, dass Ihr gesamtes Skript stoppt, wenn etwas schiefgeht, und gibt Ihnen die Kontrolle darüber, wie Fehler behandelt werden und was Ihre Benutzer sehen.

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: eine Zahl, die einen Alterswert darstellt. Die Eingabe könnte eine negative Zahl sein, was für ein Alter ungültig wäre.

Lesen Sie die Eingabe ein, konvertieren Sie sie in eine Ganzzahl und erstellen Sie einen try...catch-Block. Überprüfen Sie innerhalb des try-Blocks, ob das Alter negativ ist. Wenn es negativ ist, werfen Sie eine neue Exception mit der Nachricht "Age cannot be negative". Wenn das Alter gültig ist (Null oder positiv), geben Sie "Valid age: " gefolgt vom Alterswert aus.

Behandeln Sie im catch-Block die Ausnahme, indem Sie "Error: " gefolgt von der Ausnahmenachricht unter Verwendung der Methode getMessage() ausgeben.

Eingabeformat: Eine Zeile, die eine Ganzzahl enthält (Beispiel: 25 oder -5)

Erwartete Ausgabe:

  • Wenn das Alter gültig ist: Valid age: gefolgt vom Alterswert
  • Wenn das Alter negativ ist: Error: Age cannot be negative

Spickzettel

Der try...catch-Block behandelt Ausnahmen in PHP und verhindert, dass Skripte abstürzen, wenn Fehler auftreten.

Grundlegende Syntax:

<?php
try {
    // Code, der eine Ausnahme auslösen könnte
    $result = riskyFunction();
    echo "Success!";
} catch (Exception $e) {
    // Die Ausnahme behandeln
    echo "An error occurred: " . $e->getMessage();
}
?>

Der try-Block enthält potenziell problematischen Code. Wenn eine Ausnahme auftritt, springt PHP zum catch-Block, der ein Exception-Objekt erhält. Verwenden Sie getMessage(), um auf die Fehlermeldung zuzugreifen.

Sie können Ausnahmen manuell auslösen mit:

throw new Exception("Custom error message");

Probier es selbst

<?php
// Eingabe lesen
$age = intval(fgets(STDIN));

// TODO: Schreiben Sie Ihren Code unten
// Erstellen Sie einen try...catch-Block, um das Alter zu validieren


?>
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