Exception et classe d'exception avec PHP5

  • Par: jack
  • Le: 20.02.2009 19:22:50
  • Dans: PHP
Notion d’exception
Une exception est une erreur rencontrée lors de l’exécution de votre script.
Vous pouvez déclencher une erreur à tout moment et créer une série d’opérations prévue pour ce genre d’évènements.
Cette nouvelle structure de contrôle introduit try..catch() et throw. De même qu’une nouvelle classe, exception.

throw

throw permet de déclencher une exception lorsqu’une erreur survient. Il vous est possible d’indiquer la nature de l’erreur et de lui associer un numéro d’erreur (optionel).

Exemple

<?php
if (FALSE === file_exists($filename)) {
  throw new Exception('Fichier introuvable.');
}?>
try..catch()
try..catch() est une structure de contrôle d’erreurs. Elle vous permet “d’attraper” une exception survenue dans le bloc try et de la traiter dans le bloc catch.

Exemple
<?php
try {
  if (FALSE === file_exists($filename)) {
    throw new Exception('Fichier introuvable.');
  }
} catch (Exception $e) {
 
  echo 'Message: ' . $e->getMessage() . '<br />';
  echo 'Code: ' . $e->getCode() . '<br />';
  echo 'Fichier: ' . $e->getFile() . '<br />';
  echo 'Ligne: ' . $e->getLine() . '<br />';
}
?>

La classe exception

La classe exception se compose des propriétés et méthodes suivantes:
<?php
class Exception {
 
  protected $message = 'Unknown exception';
  protected $code = 0;
  protected $file;
  protected $line;
 
  function __construct($message = null, $code = 0);
 
  final function getMessage();
  final function getCode();
  final function getFile();
  final function getLine();
  final function getTrace();
  final function getTraceAsString();
 
  function __toString();
}
?>