A throw parancs

A throw parancs a kivételek explicit dobására szolgál a PHP-ban. Egy paramétert fogad - egy kivétel objektumot, amelynek az Exception alaposztályból öröklődő osztály egy példányának kell lennie. A függvény meghívásakor az aktuális kód végrehajtása azonnal leáll, és a PHP megpróbálja megtalálni a megfelelő catch blokkot a kivétel kezelésére.

Szintaxis

phpthrow new ExceptionClass(message, code, previous);

Példa

Egyszerű példa kivétel generálására:

php<?php
  $age = -5;
  if ($age < 0) {
    throw new Exception('Age cannot be negative');
  }
?>

A kód végrehajtásának eredménye:

phpFatal error: Uncaught Exception: Age cannot be negative

Példa

Példa kivételkezeléssel:

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

A kód végrehajtásának eredménye:

php'Error: Division by zero'

Példa

Egyéni kivétel használata:

php<?php
  class MyCustomException extends Exception {}
  
  try {
    throw new MyCustomException('Custom error message');
  } catch (MyCustomException $e) {
    echo 'Custom error caught: ' . $e->getMessage();
  }
?>

A kód végrehajtásának eredménye:

php'Custom error caught: Custom error message'

Lásd még

  • a try konstrukciót,
    amely meghatározza a kivételek kezelésére szolgáló kódblokkot
  • a catch konstrukciót,
    amely elkapja és kezeli a kivételeket
  • az Exception osztályt,
    amely az alaposztály minden kivétel számára