Pendant le développement de PHP, les erreurs d'exception sont inévitables, telles que la défaillance du fichier, la défaillance de la connexion de la base de données, etc. Afin d'améliorer l'efficacité du débogage et la robustesse du code, il est crucial de maîtriser le mécanisme de gestion des exceptions et la configuration des invites d'erreur. Cet article présentera des méthodes de traitement des exceptions courantes en PHP et comprendra des exemples de code pertinents pour vous aider à comprendre et à pratiquer rapidement.
PHP fournit une syntaxe d'essai pour gérer les exceptions possibles. Le bloc de code d'essai contient des sources d'exception potentielles, et le bloc de capture est utilisé pour attraper et gérer ces exceptions. Vous pouvez également définir plusieurs blocs de capture pour gérer différents types d'exceptions.
Voici un exemple de base:
essayer { // code qui peut lancer l'exception} catch (exception $ e) { // Gestion des erreurs d'exception}
Si vous souhaitez contrôler plus précisément le contenu d'exception ou la classification, vous pouvez le faire en personnalisant la classe d'exception. Ces classes devraient hériter de la classe d'exception intégrée de PHP, améliorant ainsi la flexibilité dans la gestion des exceptions.
Les exemples sont les suivants:
classe MyException étend l'exception { Fonction publique __construct ($ message, $ code = 0) { Parent :: __ Construct ($ message, $ code); } fonction publique __toString () { retour __class__. ": [{$ this-> code}]: {$ this-> message} \ n"; } Fonction publique CustomFunction () { Echo "Personnaliser la fonction de la classe d'exception \ n"; } }
Lancer et attraper des exceptions personnalisées:
essayer { lancer une nouvelle MyException ("Erreur d'exception personnalisée"); } catch (myException $ e) { Echo $ e; $ e-> coutumefunction (); }
En plus de la capture des exceptions, des invites d'erreur détaillées sont également nécessaires au stade de développement pour détecter et résoudre rapidement les problèmes. PHP fournit une variété de moyens pour contrôler l'affichage des messages d'erreur.
La fonction error_reporting () est utilisée pour définir le niveau d'erreur. Par exemple:
error_reporting (0); // pas de message d'erreur error_reporting (e_all); // Tous les types de messages d'erreur error_reporting (e_error | e_warning); // seules les erreurs et avertissements mortels sont affichés
Il est recommandé d'utiliser E_ALL dans l'environnement de développement pour obtenir autant d'informations d'erreur que possible, tandis que la fonction d'affichage doit être désactivée dans l'environnement de production pour protéger les données sensibles.
La configuration de l'exécution PHP peut être modifiée dynamiquement via la fonction INI_SET () , par exemple s'il faut afficher les erreurs, s'il faut enregistrer les journaux, etc.
ini_set ('display_errors', 'on'); // Afficher le message d'erreur ini_set ('display_startup_errors', 'on'); // Afficher l'erreur au démarrage ini_set ('log_errors', 'on'); // Activer l'erreur log ini_set ('error_log', '/ path / to / error_log'); // Définir le chemin du journal d'erreur
L'utilisation d'erreur_réport et ini_set peut ajuster de manière flexible les stratégies d'invite d'erreur en fonction des étapes de développement ou de déploiement.
L'utilisation rationnelle de la structure des coups de main , des classes d'exception personnalisées et des mécanismes d'invite d'erreur de configuration flexibles peuvent non seulement améliorer la stabilité du code, mais également aider l'emplacement et la maintenance du problème. Les développeurs doivent maîtriser de manière flexible et utiliser ces moyens techniques en fonction du projet doit rendre les applications PHP plus robustes et fiables.