Maison  >  Article  >  développement back-end  >  Comment intercepter les invites d'erreur en php

Comment intercepter les invites d'erreur en php

藏色散人
藏色散人original
2021-11-16 09:44:563939parcourir

Comment capturer les invites d'erreur en PHP : 1. Afficher toutes les erreurs via "error_reporting(E_ALL);" ; 2. Utilisez "try...catch" pour intercepter les exceptions ; 3. Utilisez la fonction set_error_handler() pour héberger l'erreur ; gestionnaire.

Comment intercepter les invites d'erreur en php

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3

Comment capturer les invites d'erreur en php

Trait d'erreur de capture de gestion des exceptions PHP

Il y en a trois ? types de rapports d'erreurs en PHP :

1. Erreur, erreur d'analyse de syntaxe, erreur fatale

2. Attention

Conséquences :

Erreur->Une erreur fatale mettra fin à l'exécution du programme téléchargé. il y a une erreur de syntaxe, PHP ne fonctionnera pas du tout.

Attention -> Cela ne mettra pas fin à l'exécution, mais cela affectera les résultats.

Remarque -> ne mettra pas fin à l'exécution et n'affectera pas les résultats.

Afin d'offrir aux utilisateurs une meilleure expérience, nous bloquons toutes les sorties d'erreurs, qui sont des sorties et non des affichages. Mais dans ce cas, l'administrateur ne pourra pas voir l'erreur. Les erreurs ne sont pas affichées sur la page, mais un journal est généré pour que l'administrateur puisse le consulter.

error_reporting(~E_ALL) bloque toutes les sorties. Naturellement, l'administrateur ne peut pas le voir. Je ne veux pas bloquer toutes les sorties, je veux juste bloquer tous les affichages

ini_set('display_errors','off'); signifie que l'affichage des erreurs sur toutes les pages est bloqué, mais la sortie des erreurs n'est pas bloquée .

ini_set('log_errors','on'); 
//开启日志写入功能 
ini_set('error_log','myerror.log');
 
//日志的存放位置 
ini_set('display_errors','off'); 
//屏蔽页面显示 
error_reporting(E_ALL); 
//输出所有错误
 
echo 123; echo $str; 
//这个会出现一个注意,表示未声明变量 
echo date(); 
//警告,没有传参 
echo dae(); 
 
//致命错误,找不到这个函数 
echo 123;

Exception :

Dans le langage PHP, toutes les exceptions doivent être levées par vous-même, contrairement à des langages comme JAVA qui lanceront automatiquement des exceptions. C'est pourquoi les instructions de gestion des exceptions sont rarement vues dans le code source PHP. les raisons.

Exceptions et erreurs :

Les exceptions font référence à des conditions qui ne répondent pas aux attentes et qui sont différentes du processus normal pendant le fonctionnement du programme. L'erreur est son propre problème, causé par une syntaxe illégale ou des problèmes environnementaux qui empêchent le compilateur de transmettre les paramètres de vérification et de s'exécuter.

Parce que PHP n'avait pas de gestion des exceptions au début, il a ensuite été imité afin d'entrer dans le développement au niveau de l'entreprise. Une fois que PHP rencontre du code anormal, dans la plupart des cas, il générera directement une erreur au lieu d'une exception.

php ne peut utiliser try...catch pour intercepter les exceptions qu'après avoir lancé une exception (c'est généralement le cas, et certaines exceptions peuvent être automatiquement interceptées).

Les exceptions sont généralement utilisées en PHP dans les scénarios suivants :

1 Prédiction pessimiste du programme : Si vous pensez que votre code ne peut pas gérer une par une diverses situations prévisibles et imprévues.

2. Besoins du programme et préoccupations commerciales : si la cohérence des données est très élevée, vous pouvez utiliser try...catch pour minimiser l'interruption logique causée par les exceptions, et après correction

, n'affecte pas l'intégrité de la logique métier. .

3. Exigences de robustesse au niveau du langage : en contrôlant avec précision le processus d'exécution, lorsque le programme est interrompu, utilisez try...catch pour réduire de manière prévisible la portée des erreurs possibles, détecter les exceptions en temps opportun et apporter les solutions correspondantes.

.

Erreurs en PHP :

Les erreurs sont des situations qui provoquent une exécution anormale du script.

Les principaux niveaux d'erreur en php sont les suivants :

obsolète : Le niveau d'erreur le plus bas, qui signifie "non recommandé, non recommandé". Par exemple, si la série de fonctions régulières ereg est utilisée dans PHP 5, elle apparaîtra. Ce type d'erreur est généralement dû à l'utilisation de fonctions ou d'une syntaxe obsolètes ou obsolètes. Cela n'affecte pas le fonctionnement normal du programme, mais il est recommandé de le corriger.

avis : fait généralement référence à des endroits inappropriés dans la grammaire. Si une variable est utilisée mais n'est pas définie, cette erreur sera signalée. N'affecte pas le déroulement normal du programme.

avertissement : une erreur de niveau supérieur. Cette erreur se produit lorsqu'il existe une situation très inappropriée dans la syntaxe, telle qu'une incompatibilité de paramètres de fonction. De ce fait, les résultats attendus ne peuvent être obtenus et le code doit être modifié.

erreur fœtale : erreur fatale, qui provoque directement la fin du programme. De telles erreurs doivent être corrigées.

Erreur de prase : erreur d'analyse grammaticale. Les erreurs ci-dessus sont toutes des erreurs d'exécution. Cette erreur sera générée avant l'exécution.

Gestionnaire d'erreurs personnalisé :

Vous pouvez utiliser la fonction set_error_handler() pour héberger le gestionnaire d'erreurs et personnaliser le processus de gestion des erreurs.

Si vous souhaitez annuler l'hébergement, vous pouvez utiliser restaurer_error_handler() dans la même page pour annuler l'hébergement ; si vous souhaitez générer une erreur vous-même, vous pouvez utiliser la fonction

trigger_error().

Apprentissage recommandé : "

Tutoriel vidéo PHP

"

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