Maison > développement back-end > tutoriel php > Explication détaillée des fonctions de gestion des erreurs de PHP

Explication détaillée des fonctions de gestion des erreurs de PHP

PHPz
Libérer: 2023-06-21 09:00:01
original
1490 Les gens l'ont consulté

La gestion des erreurs est un élément très important lors du développement d'applications PHP. La gestion des erreurs peut nous aider à localiser et à résoudre rapidement les problèmes, et à améliorer la fiabilité et la stabilité du programme. PHP fournit de nombreuses fonctions de gestion des erreurs pour nous aider à détecter et gérer les erreurs pendant l'exécution du programme. Cet article présentera en détail les fonctions de gestion des erreurs de PHP.

  1. Niveaux de rapport d'erreurs

En PHP, il existe plusieurs niveaux de rapport d'erreurs, et les erreurs à différents niveaux seront capturées par la fonction de gestion des erreurs et traitées en conséquence. Les niveaux de rapport d'erreurs de PHP sont les suivants :

E_ERROR : erreur fatale, une erreur dans laquelle le programme ne peut pas continuer à s'exécuter. Vous pouvez utiliser la fonction die() ou la fonction trigger_error() pour le gérer.

E_WARNING : Erreur non fatale, mais affecte la bonne exécution du programme. Le niveau d'avertissement peut être modifié à l'aide des fonctions error_reporting() et ini_set().

E_PARSE : Erreur de syntaxe, erreur que le programme ne peut pas analyser.

E_NOTICE : erreurs informatives, certaines erreurs qui n'affectent pas l'exécution du programme, comme l'utilisation de variables non définies, etc.

E_STRICT : suggestions de codage, qui contiennent certaines suggestions pour l'écriture du programme, mais n'affectent pas l'exécution du programme.

Il est à noter que le niveau d'erreur E_DEPRECATED a été supprimé depuis PHP7.0.

  1. Fonctions de gestion des erreurs

Il existe de nombreuses fonctions de gestion des erreurs en PHP. Vous trouverez ci-dessous quelques fonctions de gestion des erreurs couramment utilisées.

a.fonction die()

La fonction die() est utilisée pour afficher un message d'erreur et arrêter l'exécution du script, ce qui est équivalent à la fonction exit(). Généralement utilisé lorsqu'une erreur grave se produit. Par exemple : la fonction

if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
Copier après la connexion

b. error_reporting() La fonction

error_reporting() définit les erreurs que le script doit signaler. Vous pouvez choisir d'utiliser cette fonction dans votre code pour limiter le niveau de rapport d'erreurs, par exemple :

error_reporting(E_ERROR | E_WARNING | E_PARSE);
Copier après la connexion

c. La fonction set_error_handler()

la fonction set_error_handler() enregistre une fonction de gestion des erreurs définie par l'utilisateur en tant que gestionnaire d'erreurs PHP. Par exemple : la fonction

function errorCallback($errno, $errstr, $errfile, $errline ) {
    echo "<b>Error:</b> [$errno] $errstr - $errfile:$errline";
    die();
}

set_error_handler("errorCallback");
Copier après la connexion

d. trigger_error() La fonction

trigger_error() est utilisée pour déclencher manuellement des erreurs dans les scripts. Par exemple :

if($value > 100) {
    trigger_error("Invalid value", E_USER_ERROR);
}
Copier après la connexion

e. L'instruction try...catch

l'instruction try...catch est utilisée pour intercepter et gérer les exceptions. Dans le bloc try, nous écrivons du code qui peut lever des exceptions. Dans le bloc catch, nous captons l’exception et la gérons en conséquence. Par exemple : la fonction

try {
    $conn = mysqli_connect($servername, $username, $password, $dbname);
    if (!$conn) {
        throw new Exception("Connection failed: " . mysqli_connect_error());
    }
} catch (Exception $e) {
    echo "Error: " . $e->getMessage();
}
Copier après la connexion

f. set_exception_handler() La fonction

set_exception_handler() est utilisée pour définir une fonction de gestion des exceptions définie par l'utilisateur comme gestionnaire d'exceptions actuel. Par exemple :

function exceptionHandler($exception) {
    echo "Uncaught exception: " . $exception->getMessage();
}

set_exception_handler("exceptionHandler");
Copier après la connexion
  1. Journalisation des erreurs

En plus des fonctions de gestion des erreurs PHP présentées ci-dessus, une autre méthode de gestion des erreurs consiste à enregistrer les journaux d'erreurs. L'enregistrement des journaux d'erreurs peut nous aider à mieux comprendre le problème, à le localiser et à le résoudre rapidement.

PHP fournit la fonction error_log(), qui peut écrire des informations d'erreur dans un fichier :

error_log("Error: Connection failed: " . mysqli_connect_error(), 3, "/var/log/php_error.log");
Copier après la connexion

Le premier paramètre est les informations d'erreur et le deuxième paramètre spécifie le type d'enregistrement du journal (0 indique le type de journal par défaut, 3 indique l'écriture vers un fichier), le troisième paramètre est le chemin d'accès au fichier journal spécifié.

  1. Conclusion

Cet article présente les niveaux de rapport d'erreurs de PHP, les fonctions de gestion des erreurs et les méthodes de journalisation des erreurs. L'utilisation de méthodes de gestion des erreurs correctes peut nous aider à résoudre les problèmes rapidement et efficacement et à améliorer la fiabilité et la stabilité du programme. Lors de l'écriture d'applications PHP, il est recommandé d'utiliser les méthodes présentées ci-dessus avec flexibilité et de choisir la méthode de gestion des erreurs appropriée en fonction de la situation réelle.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal