Skip to content

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

Voir la doc de SPL