gpt4 book ai didi

php - ReflectionException 无法被捕获?

转载 作者:可可西里 更新时间:2023-11-01 13:21:35 26 4
gpt4 key购买 nike

我有这个代码:

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

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

Fatal error: Uncaught exception 'ReflectionException' with message 'Class MyClass does not have a constructor, so you cannot pass any constructor arguments' in ... on line X.

我做错了什么?

PS:我知道为什么会抛出异常,我只想知道为什么没有被捕获!

最佳答案

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

只需将 \ 添加到 \ReflectionException 就可以帮我解决问题,因为现在它能够找到我实际要查找的异常类型。

另一种解决方案是添加:

use \ReflectionException;

就在 namespace 声明之后。

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

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com