未找到父类时捕获反射异常

时间:2010-07-04 14:15:14

标签: php exception reflection

场景:我有一个扩展另一个类的类,但是父类是未定义的(无论出于何种原因)。我想获得子类的ReflectionClass。当我这样做时,我在父类上得到一个Class Not Found异常。但是,我无法抓住这个例外。我做错了什么?

例如......

<?php
class Foo extends Bar { }

try
{
    $class = new ReflectionClass('Foo');
    echo 'I\'ve reflected "Foo" successfully!';
}
catch (Exception $e)
{
    echo 'My exception handler';
}

上述代码的结果是“Bar”类未找到异常的打印输出。为什么我的catch语句没有发现异常呢?

感谢, 凯尔

1 个答案:

答案 0 :(得分:0)

那是因为此行发生了异常,而不是try之后的行:

class Foo extends Bar { }

我尝试过,将类声明放在try-catch上也行不通。确保首先包含Bar

相关问题