1: <?php
2: /**
3: * Pry Framework
4: * @copyright 2007-2011 Prynel
5: * @author Olivier ROGER <oroger.fr>
6: * @category Pry
7: * @package Net
8: * @version $Revision: 213 $
9: */
10:
11: /**
12: * Transformation des erreurs de socket en exception pour une meilleure gestion.
13: * @category Pry
14: * @package Net
15: * @subpackage Net_Exception
16: * @version 1.0
17: * @author Olivier ROGER <oroger.fr>
18: * @copyright 2007-2012 Prynel
19: *
20: */
21: abstract class Net_Exception_Handler
22: {
23: /**
24: * Initialise le gestionnaire d'erreur sur la classe d'exception
25: */
26: public static function initialize()
27: {
28: set_error_handler(array("Net_Exception_Handler", "handleError"));
29: }
30:
31: /**
32: * Restaure le gestionnaire d'erreur par défaut
33: */
34: public static function uninitialize()
35: {
36: restore_error_handler();
37: }
38:
39: /**
40: * Transforme l'erreur en exception
41: * @param int $errno Numéro d'erreur
42: * @param string $errstr Message de l'erreur
43: * @param string $errfile Fichier concerné
44: * @param int $errline Numéro de ligne
45: * @param array $errcontext Variable présente dans le contexte
46: * @throws Net_Exception_Socket
47: */
48: public static function handleError($errno, $errstr, $errfile, $errline, $errcontext)
49: {
50: throw new Net_Exception_Socket($errstr, $errno, $errfile, $errline, $errcontext);
51: }
52: }
53:
54: ?>
55: