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