Guest User

Untitled

a guest
May 25th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.12 KB | None | 0 0
  1.  
  2. <?
  3. /**
  4.  * fichier exception_err.php
  5.  *
  6.  * Historique :
  7.  * <ul>
  8.  * <li>21/09/2011 : Olivier Pons
  9.  *                  Création
  10.  * </li>
  11.  * </ul>
  12.  *
  13.  * @author Olivier Pons
  14.  * @version 1.0
  15.  * @since 1.0
  16.  * @copyright Olivier Pons
  17.  * @package Classes_Base
  18.  */
  19.  
  20. /**
  21.  * Includes
  22.  */
  23.  
  24. /**
  25.  * Classe Exception qu'on peut
  26.  * lever en lui passant un tableau
  27.  * en paramètre.
  28.  *
  29.  * @author Olivier Pons
  30.  * @version 1.0
  31.  * @since 1.0
  32.  * @copyright Olivier Pons
  33.  * @package Classes_Base
  34.  *
  35.  */
  36. class ExceptionErr extends Exception
  37. {
  38.   /**
  39.    * @var array le tableau contenant les lignes d'erreur
  40.    */
  41.   private $TabErr;
  42.  
  43.   /**
  44.    * Lit le tableau contenant les lignes d'erreur
  45.    * @return array le tableau contenant les lignes d'erreur
  46.    */
  47.   public function getTabErr()
  48.   {
  49.     if (!isset($this->TabErr)) {
  50.       throw new Exception('TabErr : pas initialise');
  51.     }  
  52.     return $this->TabErr;
  53.   }
  54.  
  55.   /**
  56.    * Surcharge de la représentation de l'objet sous forme de
  57.    * chaine
  58.    *
  59.    * @return string Représentation de l'objet sous forme de
  60.    *   chaine.
  61.    */
  62.   public function __toString() {
  63.       return __CLASS__ .
  64.         ": [{".$this->code."}]: {".$this->message."} ".
  65.         "- {".var_export($this->TabErr,true)."}\n";
  66.   }
  67.  
  68.   /**
  69.    * Constructeur surchargé de la classe "Exception" de base.
  70.    *
  71.    * @param array $tab_err
  72.    *   Tableau contenant les chaines à mettre à la suite dans
  73.    *   un tableau d'erreur (voir les classes qui utilisent
  74.    *   cette classe pour comprendre)
  75.    * @param integer $code
  76.    *   Numéro de code d'erreur
  77.    * @param Exception $previous
  78.    *   Exception précédente
  79.    *
  80.    * @return void
  81.    */
  82.   public function __construct(
  83.     $messages, $code = 0,
  84.     Exception $previous = null)
  85.   {
  86.       if (!is_array($messages)) {
  87.         throw new Exception("Messages : array attendu");
  88.       }  
  89.       if (count($messages)==0) {
  90.         throw new Exception("Messages : tableau vide");
  91.       }  
  92.       list($message)=each($messages);
  93.       parent::__construct($message, $code, $previous);
  94.       $this->TabErr = $messages;
  95.   }
  96. }
  97.  
  98. ?>
Add Comment
Please, Sign In to add comment