这是相关代码:
throw new Exception("Message");
这是我收到的错误消息:
致命错误:require()[function.require]:需要打开失败 'C:\ WAMP \ WWW \ Drupal的7.15 \网站\所有\模块\ dbManip \ \实体Exception.php' (include_path ='。; C:\ wamp \ bin \ php \ php5.3.13 \ pear \')in C:\ wamp \ bin \ php \ php5.3.13 \ pear \ Doctrine \ Common \ ClassLoader.php上线 163
我相信Doctrine正在尝试加载Exception
类定义,好像它只是我的另一个实体,但据我所知,Exception
是PHP原生的(我使用的是PHP) 5.3.13)。我的理论是我在自动加载器方面做错了,但我不确定是什么。以下是我对自动加载器的看法:
use Doctrine\ORM\Tools\Setup;
require_once("Doctrine/ORM/Tools/Setup.php");
Setup::registerAutoloadPEAR();
$classloader = new Doctrine\Common\ClassLoader('Entities', __DIR__);
$classloader->register();
我在这里做错了什么?如果没有doctrine的自动加载器尝试加载Exception
实体,如何使用抛出异常?
答案 0 :(得分:1)
这是PHP正在发挥作用。不是主义。
在命名空间中声明文件时,它将对文件中提到的所有类使用相同的命名空间。要指示Exception类来自根命名空间,必须使其明确。
throw new \Exception("Message");