La classe Exception de PHP implémente l'interface Throwable. La classe ErrorException hérite de la classe Exception. ErrorException peut être levée explicitement lorsque vous souhaitez détecter et gérer une erreur autrement ignorée, telle qu'une notification ou un avertissement.
PHP Core contient les constantes d'erreur prédéfinies suivantes
Value | Constant | Description |
---|---|---|
1 | E_ERROR | Erreur d'exécution fatale. |
2 | E_WARNING | Avertissement d'exécution (erreur non fatale). |
4 | E_PARSE | Erreur d'analyse au moment de la compilation. |
8 | E_NOTICE | Notification d'exécution. |
16 | E_CORE_ERROR | Une erreur fatale survenue lors du démarrage initial de PHP. |
32 | E_CORE_WARNING | Un avertissement (erreur non fatale) survenu lors du démarrage initial de PHP. |
64 | E_COMPILE_ERROR | Erreur fatale à la compilation. |
128 | E_COMPILE_WARNING | Avertissement lors de la compilation (erreur non fatale). |
256 | E_USER_ERROR | Message d'erreur généré par l'utilisateur. |
512 | E_USER_WARNING | Message d'avertissement généré par l'utilisateur. |
1024 | E_USER_NOTICE | Message de notification généré par l'utilisateur. |
2048 | E_STRICT | Si activé, PHP recommande des modifications à votre code pour garantir l'interopérabilité du code et la compatibilité ascendante. |
4096 | E_RECOVERABLE_ERROR | Erreur fatale capturable. |
8192 | E_DEPRECATED | Notification d'exécution. |
16384 | E_USER_DEPRECATED | Message d'avertissement généré par l'utilisateur. |
32767 | E_ALL | Toutes les erreurs et avertissements, E_STRICT |
En plus des propriétés et méthodes héritées de la classe Exception, la classe ErrorException introduit également une propriété et une méthode comme indiqué ci-dessous −
protected int severity ; final public getSeverity ( void ) : int
La gravité de l'exception est représentée par l'entier associé au type d'erreur dans le tableau ci-dessus
Dans le script ci-dessous, la fonction définie par l'utilisateur errhandler est définie comme gestionnaire d'erreur via la fonction 通过set_error_handler() fonction . Il lève une exception ErrorException lorsqu'il rencontre une erreur fatale qui ne peut pas lire le fichier.
Démonstration en direct
<?php function errhandler($severity, $message, $file, $line) { if (!(error_reporting() & $severity)) { echo "no error"; return; } throw new ErrorException("Fatal Error:No such file or directory", 0, E_ERROR); } set_error_handler("errhandler"); /* Trigger exception */ try{ $data=file_get_contents("nofile.php"); echo $data; } catch (ErrorException $e){ echo $e->getMessage(); } ?>
L'exemple ci-dessus montre la sortie suivante
Fatal Error:No such file or directory
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!