Klasse Exception

Die Klasse Exception stellt die Basisklasse für alle Exceptions in PHP dar. Sie enthält die grundlegenden Methoden für die Arbeit mit Exceptions: Abrufen der Fehlermeldung, des Fehlercodes, der Datei und der Zeile, in der die Exception aufgetreten ist, sowie des Aufrufstapels. Beim Erstellen einer Exception können eine Nachricht, ein Fehlercode und eine vorherige Exception übergeben werden.

Syntax

phpnew Exception(string $message = "", int $code = 0, Throwable $previous = null);

Beispiel

Erstellen und behandeln wir eine einfache Exception:

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

Ergebnis der Codeausführung:

php'Error: Something went wrong'

Beispiel

Verwenden wir die Hauptmethoden der Klasse Exception:

php<?php
  try {
    throw new Exception('Test exception', 123);
  } catch (Exception $e) {
    echo 'Message: ' . $e->getMessage() . "\n";
    echo 'Code: ' . $e->getCode() . "\n";
    echo 'File: ' . $e->getFile() . "\n";
    echo 'Line: ' . $e->getLine() . "\n";
  }
?>

Ergebnis der Codeausführung (Beispiel):

php'Message: Test exception
Code: 123
File: /path/to/file.php
Line: 3'

Beispiel

Holen wir uns den Aufrufstapel bei einer Exception:

php<?php
  function test() {
    throw new Exception('Stack trace test');
  }
  
  try {
    test();
  } catch (Exception $e) {
    print_r($e->getTrace());
  }
?>

Ergebnis der Codeausführung (Beispiel):

php[
  [
    'file' => '/path/to/file.php',
    'line' => 5,
    'function' => 'test',
    'args' => []
  ]
]

Siehe auch