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

phptry {
  // 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<?php
try {
  throw new Exception('Something went wrong');
} catch (Exception $e) {
  echo 'Caught exception: ', $e->getMessage();
}
?>

Risultato dell'esecuzione del codice:

php'Caught exception: Something went wrong'

Esempio

Esempio con l'uso del blocco finally:

php<?php
try {
  echo 'Try block executed';
} finally {
  echo ' - Finally block executed';
}
?>

Risultato dell'esecuzione del codice:

php'Try block executed - Finally block executed'

Esempio

Gestione di diversi tipi di eccezioni:

php<?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:

php'Invalid argument: Invalid argument'

Vedi anche