Ukaz throw

Ukaz throw se uporablja za izrecno metanje izjeme v PHP. Sprejme en parameter - objekt izjeme, ki mora biti primerek razreda, podedovanega od osnovnega razreda Exception. Ob klicu te funkcije se izvajanje trenutne kode takoj prekine in PHP poskuša najti ustrezen blok catch za obravnavo izjeme.

Sintaksa

phpthrow new ExceptionClass(message, code, previous);

Primer

Preprost primer generiranja izjeme:

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

Rezultat izvajanja kode:

phpFatal error: Uncaught Exception: Age cannot be negative

Primer

Primer z obravnavo izjeme:

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

Rezultat izvajanja kode:

php'Error: Division by zero'

Primer

Uporaba uporabniške izjeme:

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

Rezultat izvajanja kode:

php'Custom error caught: Custom error message'

Glejte tudi

  • konstrukcijo try,
    ki določa blok kode za obravnavo izjem
  • konstrukcijo catch,
    ki prestreže in obdela izjeme
  • razred Exception,
    ki je osnovni razred za vse izjeme