PHP致命错误:在第X行的<file>中找不到类'InvalidArgumentException'?

Den*_*nis 4 php logging apache2

我在我看到这一行php.log:

PHP Fatal error:  Class 'MyNamespace\InvalidArgumentException' not found in <file> on line X
Run Code Online (Sandbox Code Playgroud)

第X行包含:

throw new InvalidArgumentException("Error");
Run Code Online (Sandbox Code Playgroud)

它发生在页面重新加载.首先,我将一些值放入表单中,单击"提交"并加载我的页面.我单击刷新页面(使用我的浏览器功能)重新加载页面,这是我收到错误的地方.

也许当我刷新页面时,会执行不同的代码路径.但我仍然认为这是一个应该始终有效的本机PHP类,但在我的情况下,它会抛出错误.

我在Windows上使用PHP,Apache2,最初是通过Zend Studio IDE套件安装的.

类的描述本身不提供我任何提示.为什么会抛出错误,我该如何解决?

更新*

我的代码是:

if (!isset($modelNumber)) //$modelNumber is NULL when I refresh
        throw new InvalidArgumentException("Error");
Run Code Online (Sandbox Code Playgroud)

所以无论什么时候我打这个课我都会遇到这个错误.当我删除isset行并直接抛出类时,它总是给我错误.

see*_*RMS 17

您正在为引发异常的类使用命名空间.正因为如此,PHP正在寻找一个叫"InvalidArgumentException"类该命名空间.但是,全局命名空间中存在InvalidArgumentException.因此,为了访问它,只需在异常之前添加一个反斜杠:

throw new \InvalidArgumentException("Error");
Run Code Online (Sandbox Code Playgroud)