From b703e05d9154845b6e5c6f1bf20b0a42df7c3613 Mon Sep 17 00:00:00 2001 From: xue <> Date: Sun, 29 Jan 2006 00:46:56 +0000 Subject: Enhanced error report for template parser. --- framework/core.php | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) (limited to 'framework/core.php') diff --git a/framework/core.php b/framework/core.php index 293209d0..6c31bc55 100644 --- a/framework/core.php +++ b/framework/core.php @@ -538,9 +538,17 @@ class PradoBase return; if(($pos=strrpos($namespace,'.'))===false) // a class name { - include_once($namespace.self::CLASS_FILE_EXT); - if(!class_exists($namespace,false)) - throw new TInvalidOperationException('prado_component_unknown',$namespace); + try + { + include_once($namespace.self::CLASS_FILE_EXT); + } + catch(Exception $e) + { + if(!class_exists($namespace,false)) + throw new TInvalidOperationException('prado_component_unknown',$namespace); + else + throw $e; + } } else if(($path=self::getPathOfNamespace($namespace,self::CLASS_FILE_EXT))!==null) { @@ -561,7 +569,19 @@ class PradoBase { self::$_usings[$namespace]=$path; if(!class_exists($className,false)) - include_once($path); + { + try + { + include_once($path); + } + catch(Exception $e) + { + if(!class_exists($className,false)) + throw new TInvalidOperationException('prado_component_unknown',$className); + else + throw $e; + } + } } else throw new TInvalidDataValueException('prado_using_invalid',$namespace); -- cgit v1.2.3