Die catch-Funktion

Die Funktion catch ist Teil eines try-catch-Blocks und dient zum Abfangen von Ausnahmen, die im try-Block ausgelöst werden können. Wenn eine Ausnahme auftritt, springt die Codeausführung in den entsprechenden catch-Block, wo der Fehler behandelt werden kann.

Syntax

phptry {
  // Code, der eine Ausnahme auslösen könnte
} catch (ExceptionType $e) {
  // Behandlung der Ausnahme
}

Beispiel

Ein einfaches Beispiel zur Behandlung einer Ausnahme:

php<?php
  try {
    throw new Exception('Something went wrong');
  } catch (Exception $e) {
    echo 'Caught exception: ' . $e->getMessage();
  }
?>

Ergebnis der Codeausführung:

php'Caught exception: Something went wrong'

Beispiel

Behandlung verschiedener Ausnahmetypen:

php<?php
  try {
    if (rand(0, 1)) {
      throw new InvalidArgumentException('Invalid argument');
    } else {
      throw new RuntimeException('Runtime error');
    }
  } catch (InvalidArgumentException $e) {
    echo 'Invalid argument: ' . $e->getMessage();
  } catch (RuntimeException $e) {
    echo 'Runtime error: ' . $e->getMessage();
  } catch (Exception $e) {
    echo 'Generic exception: ' . $e->getMessage();
  }
?>

Mögliche Ergebnisse der Codeausführung:

php'Invalid argument: Invalid argument'
oder
'Runtime error: Runtime error'

Siehe auch

  • die Konstruktion try,
    die einen Codeblock zur Behandlung von Ausnahmen definiert
  • die Konstruktion throw,
    die eine Ausnahme auslöst
  • die Klasse Exception,
    die die Basisklasse für alle Ausnahmen ist