Invité
Invité n'ayant pas de compte PHPfrance
23 juil. 2007, 16:29
Ben tu stockes la pile des exceptions quelque part, et c'est réglé
Un truc de ce genre :
class Autoloader {
public static function autoload($className) {
try {
// ...
} catch (Exception $e) {
self::registerException($e);
}
}
protected static $registeredExceptions = array();
public static function registerException(Exception $e) {
self::$registeredExceptions[] = $e;
}
public static function lastRegisteredException() {
return array_pop(self::$registeredExceptions);
}
public static function countRegisteredExceptions() {
return count(self::$registeredExceptions);
}
}
spl_autoload_register(array('Autoloader', 'autoload'));
Comme ça quand une exception est levée dans le loader, il l'attrape, il la met dans une pile, et toi tu as accès à cette pile.