Gérer les erreurs dans un script PHP Les messages d'erreur PHP

Les messages d'erreur (ou d'alerte) affichés par PHP ont un niveau correspondant à leur gravité :

Messages d'erreur PHP
ValeurConstante associéeDescription
Source : ENI
1E_ERRORErreur fatale d'exécution (message "fatal error: ..."). Le script ne s'exécute pas. Exemples : appel à une fonction qui n'existe pas, fichier mentionné dans l'instruction require qui n'existe pas.
2E_WARNINGAlerte d'exécution (message "warning: ..."). Le script se poursuit. Exemples : tentative d'ouverture (avec fopen), d'un fichier qui n'existe pas, ouverture d'une connexion MySQL qui échoue... Généralement, la poursuite du script provoque d'autres messages du même type.
4E_PARSEErreur de compilation ("Parse error: ..."). Le script ne s'exécute pas. Exemples : oubli d'un point-virgule, d'une parenthèse fermante...
8E_NOTICEAvertissement lors de l'exécution (message "Notice: ..."). Par défaut, PHP est configuré pour ne pas afficher ces avertissements. Le script se poursuit. Exemple : utilisation d'une variable non initialisée.
16E_CORE_ERRORErreur fatale lors de l'initialisation de PHP.
32E_CORE_WARNINGAlerte lors de l'initialisation de PHP.
64E_COMPILE_ERRORErreur fatale lors de la compilation.
128E_COMPILE_WARNINGAlerte lors de la compilation.
256E_USER_ERRORErreur générée par le développeur.
512E_USER_WARNINGAlerte générée par le développeur.
1024E_USER_NOTICEAvertissement généré par le développeur.
2048E_STRICTConseils lors de l'exécution. Autorise PHP à suggérer des modifications pour améliorer la portabilité du code, notamment vers les futures versions (utilisation d'une fonction dépréciée par exemple). Ce niveau est apparu en version 5.
4096E_RECOVERABLE_ERRORErreur fatale récupérable. Si l'erreur n'est pas gérée par le développeur (voir plus loin), le script s'interrompt. Ajouté en version 5.2.0.
8192E_DEPRECATEDAlertes lors de l'exécution. Permet d'afficher des alertes sur le code qui utilise des fonctionnalités dépréciées et qui pourrait ne plus fonctionner dans des versions futures. Ajouté en version 5.3.
16384E_USER_DEPRECATEDAlerte de dépréciation générée par le développeur. Ajouté en version 5.3.
32767E_ALLDepuis la version 5.4, toutes les erreurs et avertissements (somme des niveaux précédents). Avant la version 5.4, E_ALL n'intégrait pas le niveau E_STRICT et valait donc 30719.