365 of 410 menu

Der Befehl throw

Der Befehl throw wird verwendet, um explizit eine Exception in PHP auszulösen. Er akzeptiert einen Parameter - ein Exception-Objekt, das eine Instanz einer Klasse sein muss, die von der Basisklasse Exception abgeleitet ist. Beim Aufruf dieser Funktion wird die Ausführung des aktuellen Codes sofort beendet und PHP versucht, einen entsprechenden catch-Block zur Behandlung der Exception zu finden.

Syntax

throw new ExceptionClass(message, code, previous);

Beispiel

Ein einfaches Beispiel für das Auslösen einer Exception:

<?php $age = -5; if ($age < 0) { throw new Exception('Alter kann nicht negativ sein'); } ?>

Ergebnis der Codeausführung:

Fatal error: Uncaught Exception: Alter kann nicht negativ sein

Beispiel

Beispiel mit Exception-Behandlung:

<?php try { $res = 10 / 0; if (is_infinite($res)) { throw new Exception('Division durch Null'); } } catch (Exception $e) { echo 'Fehler: ' . $e->getMessage(); } ?>

Ergebnis der Codeausführung:

'Fehler: Division durch Null'

Beispiel

Verwendung einer benutzerdefinierten Exception:

<?php class MyCustomException extends Exception {} try { throw new MyCustomException('Benutzerdefinierte Fehlermeldung'); } catch (MyCustomException $e) { echo 'Benutzerdefinierter Fehler abgefangen: ' . $e->getMessage(); } ?>

Ergebnis der Codeausführung:

'Benutzerdefinierter Fehler abgefangen: Benutzerdefinierte Fehlermeldung'

Siehe auch

  • die Konstruktion try,
    die einen Code-Block zur Behandlung von Exceptions definiert
  • die Konstruktion catch,
    die Exceptions abfängt und behandelt
  • die Klasse Exception,
    die die Basisklasse für alle Exceptions ist
Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen