Les Exceptions
Pour parer les contraintes et limitations du gestionnaire d’erreur de PHP, il existe les exceptions.
Il s’agit d’un nouveau mécanisme de gestion d’erreurs.
Les mots clés
- throw : Permet de lever/signaler une exception/probleme
throw new Exception(); //Exception est une classe qui peut être dérivée
- try : Permet de constituer un bloc d’instruction succeptible de lever une exception
- catch : Permet de définir un gestionnaire d’exceptions
try
{
...
}
catch(Exception $e)
{
//$e = objet lancé par throw
...
}
Un bloc try peut être suivi de plusieurs bloc catch
La classe Exception
class Exception($errmsg, $errcode)
{
//...
}
Le plus souvent, on n’utilisera pas directement les parametres de la classe Exception, mais plutôt de créer une sous classe propre à l’exception rencontrée.
Il existe beaucoup de classes dérivée de Exception dans SPL :
SPL provides a set of standard Exception classes each meant to indicate a certain problem type.
* class LogicException extends Exception
* class BadFunctionCallException extends LogicException
* class BadMethodCallException extends BadFunctionCallException
* class DomainException extends LogicException
* class InvalidArgumentException extends LogicException
* class LengthException extends LogicException
* class OutOfRangeException extends LogicException
* class RuntimeException extends Exception
* class OutOfBoundsException extends RuntimeException
* class OverflowException extends RuntimeException
* class RangeException extends RuntimeException
* class UnderflowException extends RuntimeException

Commentaires récents