Maison  >  Article  >  développement back-end  >  PHP ErrorException (exception d'erreur PHP)

PHP ErrorException (exception d'erreur PHP)

王林
王林avant
2023-08-30 18:25:021609parcourir

PHP ErrorException(PHP错误异常)

Introduction

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

Exemple d'exception d'erreur

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.

Exemple

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

Output

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer