is_object()由异常处理?

时间:2015-09-03 08:55:32

标签: php oop object exception-handling

我研究了一种检查对象是否是对象(不是类的特定实例)的方法,并且我找到了is_object();is_object()会抛出任何异常吗?有没有办法用这种语言结构抛出异常?

private function objectInjector($object) {
    try {
        is_object($object);
        return strtolower(get_class($object));
    } catch (Exception $ex) { 
        $this->ex = $ex->getMessage();
        if (APP_DEBUG) {
            d($ex->getTrace());
        }
    }
}

1 个答案:

答案 0 :(得分:1)

函数 is_object()返回一个bool,应该在if语句中使用,以便正确处理结果。

您可以在PHP文档中找到更多信息:http://php.net/manual/en/function.is-object.php

为什么你需要在该函数中抛出异常? 如果没有,您可以在逻辑中添加此代码,而无需委托给objectInjector:

if (is_object($object)) {
    //do stuff with your object
} else {
   //do anything else, is not an object
}

您可以在函数/方法的基础上使用try / catch语句来处理任何其他期望。

再见!