Outils pour utilisateurs

Outils du site


web:php:exceptions

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
web:php:exceptions [le 26/11/2013 à 15:50] – créée Yoskoweb:php:exceptions [le 05/01/2015 à 11:40] (Version actuelle) – Exceptions SPL Yosko
Ligne 1: Ligne 1:
 ====== Exceptions en PHP ====== ====== Exceptions en PHP ======
  
-La gestion d'exception en PHP se fait comme dans beaucoup de la manière suivante :+Petit rappel de base sur les exceptions en PHP 
 + 
 +===== Base ===== 
 + 
 +La gestion d'exception en PHP se fait comme dans beaucoup de langages de la manière suivante :
  
 <code php> <code php>
Ligne 10: Ligne 14:
 } }
 </code> </code>
 +
 +===== Exceptions personnalisées =====
 +
 +La classe ''Exception'' peut être étendue pour définir nos propres exceptions 
 +
 +<code php>
 +class CustomException extends Exception {}
 +</code>
 +
 +===== Exceptions SPL =====
 +La SPL (Standard PHP Library) propose des exceptions "génériques" un peu plus précises que ''%%Exception%%'', permettant de catégoriser les erreurs sans avoir à déclarer ses propres exceptions ou à parser bêtement les messages d'exception.
 +  * [[http://us3.php.net/manual/en/class.logicexception.php|LogicException]] : erreur de logique dans le programme, un bug à corriger dans le code
 +    * [[http://us3.php.net/manual/en/class.badfunctioncallexception.php|BadFunctionCallException]] / [[http://us3.php.net/manual/en/class.badmethodcallexception.php|BadMethodCallException]] : erreur d'appel (fonction/méthode inexistante, ou appelée avec les mauvais paramètres).
 +    * [[http://us3.php.net/manual/en/class.domainexception.php|DomainException]] : valeur "hors domaine" (si la valeur d'un paramètre respecte le type de variable mais pas le domaine de valeurs autorisées)
 +    * [[http://us3.php.net/manual/en/class.invalidargumentexception.php|InvalidArgumentException]] : valeur ne respectant pas le type attendu
 +    * [[http://us3.php.net/manual/en/class.lengthexception.php|LengthException]] : valeur ne respectant pas la longueur attendue (chaine de caractère essentiellement ?)
 +    * [[http://us3.php.net/manual/en/class.outofrangeexception.php|OutOfRangeException]] : intermédiaire batard entre DomainException (logic) et OutOfBoundsException (runtime) ?
 +  * [[http://us3.php.net/manual/en/class.runtimeexception.php|RuntimeException]] : erreur remontée à l'exécution
 +    * [[http://us3.php.net/manual/en/class.outofboundsexception.php|OutOfBoundsException]] : appel à un index/clé (de tableau, par exemple) inexistant dans le contexte
 +    * [[http://us3.php.net/manual/en/class.overflowexception.php|OverflowException]] : erreur à l'insertion d'un élément dans un conteneur plein
 +    * [[http://us3.php.net/manual/en/class.rangeexception.php|RangeException]] : valeur "hors domaine" pour un domaine contextuel (spécifique à cette exécution)
 +    * [[http://us3.php.net/manual/en/class.underflowexception.php|UnderflowException]] : erreur à l'utilisation d'un conteneur s'il est vide
 +    * [[http://us3.php.net/manual/en/class.unexpectedvalueexception.php|UnexpectedValueException]] : erreur au retour d'une fonction si la valeur de retour n'est pas gérée
 +
web/php/exceptions.1385481048.txt.gz · Dernière modification : le 26/11/2013 à 15:50 de Yosko