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
new Exception(string $message = "", int $code = 0, Throwable $previous = null);
Exemple
Créons et traitons une exception simple :
<?php
try {
throw new Exception('Something went wrong', 100);
} catch (Exception $e) {
echo 'Error: ' . $e->getMessage();
}
?>
Résultat de l'exécution du code :
'Error: Something went wrong'
Exemple
Utilisons les méthodes principales de la classe Exception :
<?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) :
'Message: Test exception
Code: 123
File: /path/to/file.php
Line: 3'
Exemple
Obtenons la pile d'appels lors d'une exception :
<?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) :
[
[
'file' => '/path/to/file.php',
'line' => 5,
'function' => 'test',
'args' => []
]
]
Voir aussi
-
classe
ErrorException,
qui représente les erreurs sous forme d'exceptions -
fonction
set_exception_handler,
qui définit un gestionnaire d'exceptions personnalisé