Classe Exception

La classe Exception représente la classe de base pour toutes les exceptions en PHP. Elle contient les méthodes principales pour travailler avec les exceptions : obtenir le message d'erreur, le code d'erreur, le fichier et la ligne où l'exception est survenue, ainsi que la pile d'appels. Lors de la création d'une exception, on peut transmettre un message, un code d'erreur et l'exception précédente.

Syntaxe

phpnew Exception(string $message = "", int $code = 0, Throwable $previous = null);

Exemple

Créons et traitons une exception simple :

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

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

php'Error: Something went wrong'

Exemple

Utilisons les méthodes principales de la classe Exception :

php<?php
  try {
    throw new Exception('Test exception', 123);
  } catch (Exception $e) {
    echo 'Message: ' . $e->getMessage() . "\n";
    echo 'Code: ' . $e->getCode() . "\n";
    echo 'File: ' . $e->getFile() . "\n";
    echo 'Line: ' . $e->getLine() . "\n";
  }
?>

Résultat de l'exécution du code (exemple) :

php'Message: Test exception
Code: 123
File: /path/to/file.php
Line: 3'

Exemple

Obtenons la pile d'appels lors d'une exception :

php<?php
  function test() {
    throw new Exception('Stack trace test');
  }
  
  try {
    test();
  } catch (Exception $e) {
    print_r($e->getTrace());
  }
?>

Résultat de l'exécution du code (exemple) :

php[
  [
    'file' => '/path/to/file.php',
    'line' => 5,
    'function' => 'test',
    'args' => []
  ]
]

Voir aussi