我有以下代码:

namespace Some\Different\Name;
        try {
            $reflect  = new ReflectionClass($class);
X:          $instance = $reflect->newInstanceArgs($args);
        } catch (ReflectionException $e) {
            exit($e->getMessage());
        }

我正在测试它,试图抛出ReflectionException。它给了我:



我究竟做错了什么?

PS:我知道为什么会引发异常,我只是想知道为什么未捕捉到异常!

最佳答案

最后。这是一个 namespace 问题。奇怪的是,PHP没有通知您正在 try catch 当前 namespace 中不存在的类型(ReflectionException)的异常。

只是将\添加到\ReflectionException可以帮助我,因为现在它可以找到我实际上正在寻找的异常类型。

另一个解决方案是添加:

use \ReflectionException;

在 namespace 声明之后。

关于php - ReflectionException无法捕获?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9440598/

10-12 00:46