Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?
- /**
- * fichier exception_err.php
- *
- * Historique :
- * <ul>
- * <li>21/09/2011 : Olivier Pons
- * Création
- * </li>
- * </ul>
- *
- * @author Olivier Pons
- * @version 1.0
- * @since 1.0
- * @copyright Olivier Pons
- * @package Classes_Base
- */
- /**
- * Includes
- */
- /**
- * Classe Exception qu'on peut
- * lever en lui passant un tableau
- * en paramètre.
- *
- * @author Olivier Pons
- * @version 1.0
- * @since 1.0
- * @copyright Olivier Pons
- * @package Classes_Base
- *
- */
- class ExceptionErr extends Exception
- {
- /**
- * @var array le tableau contenant les lignes d'erreur
- */
- private $TabErr;
- /**
- * Lit le tableau contenant les lignes d'erreur
- * @return array le tableau contenant les lignes d'erreur
- */
- public function getTabErr()
- {
- if (!isset($this->TabErr)) {
- throw new Exception('TabErr : pas initialise');
- }
- return $this->TabErr;
- }
- /**
- * Surcharge de la représentation de l'objet sous forme de
- * chaine
- *
- * @return string Représentation de l'objet sous forme de
- * chaine.
- */
- public function __toString() {
- return __CLASS__ .
- ": [{".$this->code."}]: {".$this->message."} ".
- "- {".var_export($this->TabErr,true)."}\n";
- }
- /**
- * Constructeur surchargé de la classe "Exception" de base.
- *
- * @param array $tab_err
- * Tableau contenant les chaines à mettre à la suite dans
- * un tableau d'erreur (voir les classes qui utilisent
- * cette classe pour comprendre)
- * @param integer $code
- * Numéro de code d'erreur
- * @param Exception $previous
- * Exception précédente
- *
- * @return void
- */
- public function __construct(
- $messages, $code = 0,
- Exception $previous = null)
- {
- if (!is_array($messages)) {
- throw new Exception("Messages : array attendu");
- }
- if (count($messages)==0) {
- throw new Exception("Messages : tableau vide");
- }
- list($message)=each($messages);
- parent::__construct($message, $code, $previous);
- $this->TabErr = $messages;
- }
- }
- ?>
Add Comment
Please, Sign In to add comment