Subversion Repositories Applications.framework

Rev

Rev 195 | Rev 232 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 195 Rev 216
Line 10... Line 10...
10
 * @package   Framework
10
 * @package   Framework
11
 * @author	aurelien <aurelien@tela-botanica.org>
11
 * @author	aurelien <aurelien@tela-botanica.org>
12
 * @copyright 2009 Tela-Botanica
12
 * @copyright 2009 Tela-Botanica
13
 * @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
13
 * @license   http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
14
 * @license   http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
14
 * @license   http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
15
 * @version   SVN: $$Id: GestionnaireException.php 195 2010-05-19 13:07:36Z jpm $$
15
 * @version   SVN: $$Id: GestionnaireException.php 216 2010-11-10 11:29:59Z jpm $$
16
 * @link	  /doc/framework/
16
 * @link	  /doc/framework/
17
 *
17
 *
18
 */
18
 */
19
class GestionnaireException {
19
class GestionnaireException {
Line 66... Line 66...
66
	public static function setContexte($contexte) {
66
	public static function setContexte($contexte) {
67
		self::$contexte = $contexte;
67
		self::$contexte = $contexte;
68
	}
68
	}
Line 69... Line 69...
69
 
69
 
70
	/**
70
	/**
-
 
71
	 * Fonction de gestion des exceptions, remplace le handler par défaut.
71
	 * Fonction de gestion des exceptions, remplace le handler par défaut
72
	 * Si une boucle génère de multiple exception (ou erreur) identique une seule sera stockée.
72
	 * @param Exception $e l'exception à traiter
73
	 * @param Exception $e l'exception à traiter
73
	 */
74
	 */
74
	public static function gererException(Exception $e) {
75
	public static function gererException(Exception $e) {
75
		// pour le moment on se contente de l'ajouter au tableau et de les afficher
76
		$cle = hash('md5', $e->getMessage().'-'.$e->getFile().'-'.$e->getLine());
76
		self::$exceptions[] = $e;
77
		if (!isset(self::$exceptions[$cle])) {
77
		// Log si nécéssaire
78
			self::$exceptions[$cle] = $e;
-
 
79
			self::loggerException($e);
78
		self::loggerException($e);
80
		}
Line 79... Line 81...
79
	}
81
	}
80
 
82
 
81
	/**
83
	/**
Line 88... Line 90...
88
	 */
90
	 */
89
	public static function gererErreur($niveau,  $message,  $fichier,  $ligne,  $contexte){
91
	public static function gererErreur($niveau,  $message,  $fichier,  $ligne,  $contexte){
90
		// Si un rapport d'erreur existe, création d'une exception
92
		// Si un rapport d'erreur existe, création d'une exception
91
		if (error_reporting() != 0) {
93
		if (error_reporting() != 0) {
92
			$e = new ErrorException($message, 0, $niveau, $fichier, $ligne);
94
			$e = new ErrorException($message, 0, $niveau, $fichier, $ligne);
93
			// que l'on donne au tableau d'exceptions
-
 
94
			self::$exceptions[] = $e;
-
 
95
			// Log si nécéssaire
-
 
96
			self::loggerException($e);			
95
			self::gererException($e);
97
		}
96
		}
98
		return null;
97
		return null;
99
	}
98
	}
Line 100... Line 99...
100
 
99