Comanda throw
Comanda throw este utilizată pentru aruncarea explicită a unei excepții în PHP.
Ea acceptă un singur parametru - un obiect excepție, care trebuie să fie o instanță a unei clase,
moștenită din clasa de bază Exception. La apelarea acestei funcții, executarea codului curent
se oprește imediat, iar PHP încearcă să găsească blocul catch corespunzător pentru gestionarea excepției.
Sintaxă
throw new ExceptionClass(message, code, previous);
Exemplu
Un exemplu simplu de generare a unei excepții:
<?php
$age = -5;
if ($age < 0) {
throw new Exception('Vârsta nu poate fi negativă');
}
?>
Rezultatul executării codului:
Fatal error: Uncaught Exception: Vârsta nu poate fi negativă
Exemplu
Exemplu cu gestionarea excepției:
<?php
try {
$res = 10 / 0;
if (is_infinite($res)) {
throw new Exception('Împărțire la zero');
}
} catch (Exception $e) {
echo 'Eroare: ' . $e->getMessage();
}
?>
Rezultatul executării codului:
'Eroare: Împărțire la zero'
Exemplu
Utilizarea unei excepții personalizate:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException('Mesaj de eroare personalizat');
} catch (MyCustomException $e) {
echo 'Eroare personalizată prinsă: ' . $e->getMessage();
}
?>
Rezultatul executării codului:
'Eroare personalizată prinsă: Mesaj de eroare personalizat'