L'instruction try
La structure try permet de gérer les exceptions qui peuvent survenir lors de l'exécution du code.
Le code potentiellement dangereux est placé dans le bloc try, et le gestionnaire d'exceptions dans le bloc catch.
Le bloc finally peut également être utilisé, il s'exécute dans tous les cas.
Syntaxe
try {
// Code susceptible de provoquer une exception
} catch (ExceptionType $e) {
// Gestion de l'exception
} finally {
// Code qui s'exécutera dans tous les cas
}
Exemple
Un exemple simple de gestion d'exception :
<?php
try {
throw new Exception('Something went wrong');
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage();
}
?>
Résultat de l'exécution du code :
'Caught exception: Something went wrong'
Exemple
Exemple utilisant le bloc finally :
<?php
try {
echo 'Try block executed';
} finally {
echo ' - Finally block executed';
}
?>
Résultat de l'exécution du code :
'Try block executed - Finally block executed'
Exemple
Gestion de différents types d'exceptions :
<?php
try {
// Code susceptible de provoquer différentes exceptions
throw new InvalidArgumentException('Invalid argument');
} catch (InvalidArgumentException $e) {
echo 'Invalid argument: ', $e->getMessage();
} catch (Exception $e) {
echo 'Generic exception: ', $e->getMessage();
}
?>
Résultat de l'exécution du code :
'Invalid argument: Invalid argument'
Voir aussi
-
la structure
throw,
qui génère une exception -
la fonction
set_exception_handler,
qui définit un gestionnaire d'exceptions