On Fri, Nov 25, 2011 at 1:28 PM, Christian Kaps <christian.k...@mohiva.com>wrote:
> Am 25.11.2011 13:13, schrieb Ferenc Kovacs: > >> On Fri, Nov 25, 2011 at 12:56 PM, Christian Kaps >> <christian.k...@mohiva.com>**wrote: >> >> I surround my application with a try/catch block to catch uncaught >>> exceptions. An autoloader exception could be one of them. >>> >>> But I use also similar calls to reformat error messages. >>> >>> try { >>> $class = new ReflectionClass($****annotationName); >>> >>> } catch (ClassNotFoundException $e) { >>> $message = "The annotation class `{$annotationName}` cannot be found; "; >>> $message .= "called in DocBlock for: {$this->context->getLocation()** >>> **}; >>> "; >>> throw new ClassNotFoundException($****message, null, $e); >>> } >>> >>> >>> if(!class_exists('**ReflectionClass')){ >> // call your error handler here or throw Exception as you like >> } >> else{ >> $class = new ReflectionClass($****annotationName); >> } >> >> > Reflection class triggers also the autoloader, because it tries to load > the class $annotationName. then class_exists($annotationName)? btw. I think that ReflectionClass::__construct will throw a LogicException if the classname you passed couldn't be loaded. so you don't need your special autoloader for handling that. -- Ferenc Kovács @Tyr43l - http://tyrael.hu