Maison  >  Article  >  développement back-end  >  Vous amène à comprendre les types d’erreurs et les niveaux d’erreur de PHP

Vous amène à comprendre les types d’erreurs et les niveaux d’erreur de PHP

WBOY
WBOYoriginal
2021-10-20 18:34:173225parcourir

Dans l'article précédent, je vous ai présenté "Cinq minutes pour vous aider à comprendre ce qu'est la gestion des exceptions en PHP", qui présentait en détail les problèmes liés à la gestion des exceptions PHP. Continuons la lecture dans cet article. connaissance pertinente de la gestion des erreurs PHP, des types d'erreurs PHP et des niveaux d'erreur PHP. J'espère que cela sera utile à tout le monde !

Vous amène à comprendre les types d’erreurs et les niveaux d’erreur de PHP

Il est inévitable que les programmeurs commettent des erreurs pendant le processus de développement, ou des erreurs peuvent survenir pour d'autres raisons. À l'heure actuelle, il est nécessaire pour nous de comprendre quels types d'erreurs et quels niveaux d'erreur existent en PHP. Vous pouvez également cliquer sur la vidéo pédagogique gratuite « php Error Handling » pour acquérir des connaissances connexes.

Types d'erreurs PHP

Les erreurs de programme PHP sont généralement divisées en trois catégories, à savoir les erreurs de syntaxe, les erreurs d'exécution et les erreurs de logique.

  • Erreurs de grammaire

Les erreurs de grammaire sont les erreurs les plus courantes en programmation et les plus faciles à résoudre. Par exemple, un message d'erreur s'affichera lorsqu'un point-virgule est manquant. Cette erreur arrête l'exécution du programme et affiche un message d'erreur. Nous pouvons corriger le programme en fonction du message d'erreur et le réexécuter.

L'erreur de syntaxe peut être considérée comme le type d'erreur le plus courant que nous rencontrons dans le processus de programmation, en même temps, je pense que c'est aussi l'erreur la plus simple à résoudre, par exemple : oublier de saisir un point-virgule lors de la saisie ou une erreur ; Syntaxe de la fonction.

<?php
    $a = 1
    echo $a;
?>

Dans l'exemple ci-dessus, il manque un point-virgule à la fin de la deuxième ligne et le résultat de sortie est incorrect.

Après avoir ajouté le point-virgule, le programme s'exécute normalement et le résultat de sortie est 1. De cela, nous pouvons voir que lorsqu'une erreur de syntaxe se produit, le programme s'arrêtera et continuera à s'exécuter. Lorsque l'erreur de syntaxe est résolue, le programme peut continuer à s'exécuter.

  • Erreur d'exécution

Une erreur d'exécution est une erreur qui se produit lors de l'exécution du programme. À l'heure actuelle, il convient de noter qu'il n'y a pas d'erreur de syntaxe, mais. pendant le processus d'exécution, PHP vous avertira qu'il y a quelque chose de déraisonnable dans le programme. Contrairement aux erreurs de syntaxe, le programme continuera à s'exécuter vers le bas.

L'exemple est le suivant :

<?php
    $a = 1;
    $b = 0;
    $c = $a / $b;
    echo "$a / $b = $c";
?>

Dans l'exemple ci-dessus, il n'y a pas d'erreur de syntaxe, mais 0 ne peut pas être utilisé comme diviseur, et le résultat de sortie est :

Vous amène à comprendre les types d’erreurs et les niveaux d’erreur de PHP

  • Erreur logique

Programme avec erreur logique Il s'exécutera normalement, mais le résultat de sortie est erroné. La cause première se produit dans le code que nous avons écrit. Il n'y a pas de message d'alarme pendant l'exécution du programme. L'exemple est le suivant :

<?php
    $a = 1;
    $b = 2;
    if($a = $b){
        echo &#39;$a = $b&#39;;
    }else{
        echo &#39;$a != $b&#39;;
    }
?>

Résultat de sortie :

Vous amène à comprendre les types d’erreurs et les niveaux d’erreur de PHP

À partir de l'exemple ci-dessus, nous pouvons voir que le résultat de sortie est évidemment erroné et illogique. Lorsqu'une erreur logique se produit, il n'y a pas de message d'alarme. Cela nous oblige à être plus vigilants et à éviter les erreurs logiques.

Développez les connaissances : niveaux d'erreur PHP

Il existe à la fois des types d'erreur et des niveaux d'erreur définis en PHP. Les niveaux d'erreur peuvent être définis dans php.ini. (Cliquez sur "Comment télécharger des fichiers en PHP ? Vous comprendrez après avoir lu ceci ! " pour voir comment trouver le php.ini)

Les types d'erreurs en PHP sont les suivants :

1 --- E_ERROR ---Les erreurs d'exécution fatales sont généralement des situations irrécupérables, telles que des problèmes causés par l'allocation de mémoire. La conséquence est que le script se termine et ne s'exécute plus. E_ERROR---致命的运行时错误,一般是不可恢复的情况,例如内存分配导致的问题,后果是导致脚本终止、不再继续运行。    

2   --- E_WARNING  ---  运行时警告(非致命错误),仅给出提示信息,但是脚本不会终止运行。    

4  ---  E_PARSE  ---  编译时语法解析错误,仅由分析器产生。    

8  --- E_NOTICE ---运行时通知,表示脚本遇到可能会表现为错误的情况,但是在可以正常运行的脚本里面也可能会有类似的通知。  

16 ---   E_CORE_ERROR ---   在 PHP 初始化启动过程中发生的致命错误,类似 E_ERROR,但是是由 PHP 引擎核心产生的。        

64  ---  E_COMPILE_ERROR  ---  致命编译时错误,类似 E_ERROR,但是是由 Zend 脚本引擎产生的。    

128  ---  E_COMPILE_WARNING

2 --- E_WARNING --- Avertissement d'exécution (erreur non fatale), seules les informations d'invite sont données, mais le script ne terminera pas l'opération. 🎜🎜4 --- E_PARSE --- Erreur d'analyse de syntaxe au moment de la compilation, générée uniquement par l'analyseur. 🎜🎜8 --- E_NOTICE --- Notification d'exécution, indiquant que le script rencontre une situation qui peut apparaître comme une erreur, mais il peut également y avoir des notifications similaires dans les scripts qui peuvent s'exécuter normalement. 🎜🎜16 --- E_CORE_ERROR --- Une erreur fatale qui se produit lors du démarrage de l'initialisation de PHP, similaire à E_ERROR, mais générée par le cœur du moteur PHP.​ ​ ​ 🎜🎜64 ​ --- E_COMPILE_ERROR ​ --- Erreur fatale à la compilation, similaire à E_ERROR, mais générée par le moteur de script Zend. 🎜🎜128 --- E_COMPILE_WARNING --- Avertissement lors de la compilation (erreur non fatale), similaire à E_WARNING, mais généré par le moteur de script Zend. . 🎜

1024 --- E_STRICT --- Activez les suggestions de PHP pour les modifications de code afin de garantir la meilleure interopérabilité et compatibilité ascendante du code.​ ​ ​ E_STRICT  ---  启用 PHP 对代码的修改建议,以确保代码具有最佳的互操作性和向前兼容性。        

8192  ---  E_DEPRECATED  ---  运行时通知,启用后将会对在未来版本中可能无法正常工作的代码给出警告。    

16384   --- E_USER_DEPRECATED ---   用户产生的警告信息,类似 E_DEPRECATED,但是是由用户自己在代码中使用 PHP 函数 trigger_error() 来产生的。    

30719  ---  E_ALL 

8192 --- E_DEPRECATED --- La notification d'exécution, lorsqu'elle est activée, donnera un avertissement pour le code qui pourrait ne pas fonctionner correctement dans les versions futures.

16384 --- E_USER_DEPRECATED --- Le message d'avertissement généré par l'utilisateur est similaire à E_DEPRECATED, mais il est généré par l'utilisateur lui-même à l'aide de la fonction PHP trigger_error() dans le code.

30719 --- E_ALL --- Tous les messages d'erreur et d'avertissement sauf E_STRICT.​ 🎜🎜Si vous souhaitez en savoir plus sur PHP, vous pouvez cliquer sur "🎜Tutoriel vidéo PHP🎜" pour apprendre ! 🎜

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:
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