Komanda throw
Komanda throw se koristi za eksplicitno bacanje izuzetka u PHP-u.
Ona prihvata jedan parametar - objekat izuzetka, koji mora biti instanca klase,
nasleđene od osnovne klase Exception. Pri pozivu ove funkcije izvršavanje trenutnog
koda se odmah prekida, i PHP pokušava da pronađe odgovarajući catch blok za obradu izuzetka.
Sintaksa
throw new ExceptionClass(message, code, previous);
Primer
Jednostavan primer generisanja izuzetka:
<?php
$age = -5;
if ($age < 0) {
throw new Exception('Age cannot be negative');
}
?>
Rezultat izvršavanja koda:
Fatal error: Uncaught Exception: Age cannot be negative
Primer
Primer sa obradom izuzetka:
<?php
try {
$res = 10 / 0;
if (is_infinite($res)) {
throw new Exception('Division by zero');
}
} catch (Exception $e) {
echo 'Error: ' . $e->getMessage();
}
?>
Rezultat izvršavanja koda:
'Error: Division by zero'
Primer
Korišćenje korisničkog izuzetka:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException('Custom error message');
} catch (MyCustomException $e) {
echo 'Custom error caught: ' . $e->getMessage();
}
?>
Rezultat izvršavanja koda:
'Custom error caught: Custom error message'