Il comando try
La struttura try consente di gestire le eccezioni che possono verificarsi durante l'esecuzione del codice.
Nel blocco try viene inserito il codice potenzialmente pericoloso, mentre nel blocco catch - il gestore delle eccezioni.
Può essere utilizzato anche il blocco finally, che viene eseguito in ogni caso.
Sintassi
try {
// Codice che potrebbe causare un'eccezione
} catch (ExceptionType $e) {
// Gestione dell'eccezione
} finally {
// Codice che verrà eseguito in ogni caso
}
Esempio
Un esempio semplice di gestione di un'eccezione:
<?php
try {
throw new Exception('Something went wrong');
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage();
}
?>
Risultato dell'esecuzione del codice:
'Caught exception: Something went wrong'
Esempio
Esempio con l'uso del blocco finally:
<?php
try {
echo 'Try block executed';
} finally {
echo ' - Finally block executed';
}
?>
Risultato dell'esecuzione del codice:
'Try block executed - Finally block executed'
Esempio
Gestione di diversi tipi di eccezioni:
<?php
try {
// Codice che potrebbe causare diverse eccezioni
throw new InvalidArgumentException('Invalid argument');
} catch (InvalidArgumentException $e) {
echo 'Invalid argument: ', $e->getMessage();
} catch (Exception $e) {
echo 'Generic exception: ', $e->getMessage();
}
?>
Risultato dell'esecuzione del codice:
'Invalid argument: Invalid argument'
Vedi anche
-
la struttura
throw,
che genera un'eccezione -
la funzione
set_exception_handler,
che imposta un gestore di eccezioni