Fonction catch

La fonction catch fait partie du bloc try-catch et sert à intercepter les exceptions qui peuvent être levées dans le bloc try. Lorsqu'une exception se produit, l'exécution du code passe au bloc catch correspondant, où l'erreur peut être traitée.

Syntaxe

phptry {
  // Code qui peut lever une exception
} catch (ExceptionType $e) {
  // Gestion de l'exception
}

Exemple

Un exemple simple de gestion d'exception :

php<?php
  try {
    throw new Exception('Something went wrong');
  } catch (Exception $e) {
    echo 'Caught exception: ' . $e->getMessage();
  }
?>

Résultat de l'exécution du code :

php'Caught exception: Something went wrong'

Exemple

Gestion de différents types d'exceptions :

php<?php
  try {
    if (rand(0, 1)) {
      throw new InvalidArgumentException('Invalid argument');
    } else {
      throw new RuntimeException('Runtime error');
    }
  } catch (InvalidArgumentException $e) {
    echo 'Invalid argument: ' . $e->getMessage();
  } catch (RuntimeException $e) {
    echo 'Runtime error: ' . $e->getMessage();
  } catch (Exception $e) {
    echo 'Generic exception: ' . $e->getMessage();
  }
?>

Résultats possibles de l'exécution du code :

php'Invalid argument: Invalid argument'
ou
'Runtime error: Runtime error'

Voir aussi

  • la construction try,
    qui définit un bloc de code pour la gestion des exceptions
  • la construction throw,
    qui lève une exception
  • la classe Exception,
    qui est la classe de base pour toutes les exceptions