Comment attraper les exceptions en PHP pour la programmation html5and de CSS3

Real-vie HTML5 et CSS3 programmation est dangereux. Beaucoup de choses peuvent mal se passer en PHP. Donc, la façon intelligente de programmer des données est programmation défensive

Sommaire

. Cette pratique consiste à anticiper les erreurs et d'essayer de les résoudre avec élégance. PHP a quelques techniques de gestion des erreurs avancées disponibles qui sont parfaits pour la tâche.

Imaginez que vous avez écrit un code qui ressemble à ceci:

imprimer 5 / 0-

Vous seriez probablement pas faire cela, mais parfois mauvais code glisse à travers. Si votre serveur est configuré pour transmettre des messages d'erreur, vous verrez quelque chose comme ça.

image0.jpg

Gestion des exceptions

Il ya effectivement beaucoup plus de choses que vous pourriez apprécier au premier abord. Le comportement par défaut de nombreuses installations PHP est de cacher les erreurs. Toutefois, des erreurs se produisent, surtout si vous permettez à l'entrée d'utilisateur. Ce code listant explicitement piège pour les erreurs et les signale indépendamment des paramètres du serveur:

try.php

? lt; phptry {5 / 0-} catch (Exception $ e) {print $ e-> getMessage () -} // end try>?




Voici ce qui se passe:

  1. Utilisez le essayer mot-clé pour indiquer le code potentiellement dangereux.

    La essayer mot-clé ouvre un bloc de code (comme une boucle ou d'un état). Tout le code entre essayer et capture est considéré comme potentiellement dangereux.

  2. Placez le code dangereux dans le essayer bloc.

    Tout code qui pourrait provoquer des erreurs doit être placé à l'intérieur du essayer bloc. Le code le plus dangereux implique généralement des choses le programmeur ne peut pas contrôler directement: l'accès à des fichiers externes, les opérations sur les données définies par l'utilisateur, ou l'exposition à des programmes et des processus externes.

  3. Utilisez le capture clause d'anticiper les erreurs.

    La capture clause indique la fin du code dangereux.

  4. Indiquez le type d'exception.

    Le paramètre pour le capture clause est un objet de type Exception. PHP dispose d'un certain nombre d'exceptions intégrées, et souvent une bibliothèque ou un ensemble d'outils comprendra de nouvelles exceptions (vous pouvez aussi construire vous-même si vous voulez).

  5. Gérer l'exception.

    La capture clause ouvre un autre bloc de code. Placez le code ici qui permettra de résoudre le problème (ou au moins mourir avec un peu de style et de la grâce - informer l'utilisateur ce qui a mal avant de mélanger hors cette bobine mortelle). La ligne la plus commun ici est d'appeler print (e- $> getMessage ()). Tous les objets d'exception ont une getMessage () méthode, et cette ligne signale le message d'erreur actuel.

Savoir quand piège pour les exceptions

Si votre serveur est configuré pour le débogage (comme XAMPP est par défaut), il ne sera généralement pas nécessaire de mettre en place la gestion des exceptions parce que le comportement par défaut d'un programme d'installation de débogage est de rapporter les exceptions de toute façon. Il ya quelques fois, vous aurez toujours envie gestion des exceptions explicites:

  • Vous êtes sur un serveur sans paramètres de débogage: Vous ne pouvez pas avoir accès à la configuration du serveur, de sorte que vous pourriez ne pas être capable de tourner sur des rapports automatiques d'exception. Rapports d'exception Manuel obtiennent toujours à travers.

  • Vous voulez faire quelque chose de spécial: Le gestionnaire d'exception automatique rapporte simplement le problème. Si vous voulez faire quelque chose d'autre (par exemple, utiliser un fichier par défaut si un fichier est introuvable), vous aurez besoin d'un gestionnaire d'exception personnalisée pour cette situation.

  • Vous faites quelque chose d'exotique: Les bibliothèques spécialisées viennent souvent avec leurs propres exceptions personnalisées, et vous aurez besoin d'un gestionnaire d'exception pour couvrir ces situations.


» » » » Comment attraper les exceptions en PHP pour la programmation html5and de CSS3