Il comando throw
Il comando throw viene utilizzato per generare esplicitamente un'eccezione in PHP.
Accetta un parametro - un oggetto eccezione, che deve essere un'istanza di una classe,
ereditata dalla classe base Exception. Quando viene chiamata questa funzione, l'esecuzione del codice
corrente viene immediatamente interrotta e PHP tenta di trovare il blocco catch corrispondente per gestire l'eccezione.
Sintassi
throw new ExceptionClass(message, code, previous);
Esempio
Un semplice esempio di generazione di un'eccezione:
<?php
$age = -5;
if ($age < 0) {
throw new Exception('Age cannot be negative');
}
?>
Risultato dell'esecuzione del codice:
Fatal error: Uncaught Exception: Age cannot be negative
Esempio
Esempio con gestione dell'eccezione:
<?php
try {
$res = 10 / 0;
if (is_infinite($res)) {
throw new Exception('Division by zero');
}
} catch (Exception $e) {
echo 'Error: ' . $e->getMessage();
}
?>
Risultato dell'esecuzione del codice:
'Error: Division by zero'
Esempio
Utilizzo di un'eccezione personalizzata:
<?php
class MyCustomException extends Exception {}
try {
throw new MyCustomException('Custom error message');
} catch (MyCustomException $e) {
echo 'Custom error caught: ' . $e->getMessage();
}
?>
Risultato dell'esecuzione del codice:
'Custom error caught: Custom error message'