获取"从空值创建默认对象"异常消息,但getCode()返回0

时间:2014-11-13 15:23:31

标签: php laravel-4

使用Laravel 4.2。*和PHP 5.5.8我有一个try catch块正确地捕获警告“从空值创建默认对象”。但是getCode()调用返回0.

有没有办法设置我的环境,以便这个和其他异常总是为getCode()返回一个非零值? (注意我已经捕获了getCode返回字符串的PDOExceptions。)

try{
    //do something that causes the above exception;
catch($e){
    $code = $e->getCode();
}

帖子的重点不在于导致错误,而是$ e-> getCode()返回0值。我想使用getCode()没有保证值,因为它依赖于未知代码抛出异常。

1 个答案:

答案 0 :(得分:0)

(Note I'm already trapping for PDOExceptions where getCode returns a string.)

不确定如何从此方法中获取string ...

根据此处的文档http://php.net/manual/en/exception.getcode.php,异常对象getCode()上的Gets the Exception code方法。

即。

<?php
try {
    throw new Exception("Some error message", 30);
} catch(Exception $e) {
    echo "The exception code is: " . $e->getCode();
}
?>

将输出:

The exception code is: 30

因此,如果您从0方法获得getCode(),则很可能是在未明确设置异常代码的情况下抛出的异常。例如throw new Exception("An error has occurred");