Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP7.0.20:异常代码为0_Php_Exception_Php 7 - Fatal编程技术网

PHP7.0.20:异常代码为0

PHP7.0.20:异常代码为0,php,exception,php-7,Php,Exception,Php 7,我得到一个错误代码为0的异常,但我不知道为什么?异常的文本/消息是“在null上调用成员函数getId()”,但属性“code”是0。为什么是0而不是实数?所有其他异常都有正确的错误代码 这是我的php.ini中的错误还是配置错误 有人知道吗?例外并不总是有代码。未明确定义错误代码时,错误代码默认为0。请参阅-异常将默认为消息”,代码为0,以前的异常为NULL try { throw new Exception('Hello!'); } catch(Exception $e) {

我得到一个错误代码为0的异常,但我不知道为什么?异常的文本/消息是“在null上调用成员函数getId()”,但属性“code”是0。为什么是0而不是实数?所有其他异常都有正确的错误代码

这是我的php.ini中的错误还是配置错误


有人知道吗?

例外并不总是有代码。未明确定义错误代码时,错误代码默认为
0
。请参阅-异常将默认为消息
,代码为
0
,以前的异常为
NULL

try {
    throw new Exception('Hello!');
} catch(Exception $e) {
    echo $e->getCode(); // prints 0
}
PHP错误等情况也是如此:

try {
    $foo = new stdClass;
    $foo->fooBar();
} catch(Error $e) {
    echo $e->getCode(); // prints 0 too
    echo $e->getMessage(); // prints "Call to a member function fooBar() on null"
}

代码的哪一部分出现异常?或者函数?在类中存在该错误,在我自己的exceptionhandler中,我希望处理应用程序中抛出的所有异常。在处理程序中,我使用$exception->getCode()和$exception->getMessage()
调用null上的成员函数foo是一个致命错误。看:啊,所以我不可能一个致命的错误有一个代码?或者我如何检查它是否是致命错误?我在fatalhander中使用了函数“error_get_last()”,但它始终为null,但在我的旧php版本5.6中,它可以正常工作:)在使用它之前,可以检查您尝试使用的对象是否为null。如果是,您可以抛出一个exception.okey,但在我的例子中它是一个php异常,所以我希望得到一个errorCode或类似“E_ERROR”的ExceptionType。但是什么都没有:)@user3388366 PHP的内置
Error
类具有相同的签名。致命错误的错误代码似乎是
0
。啊,所以我不认为致命错误有代码?或者我如何检查它是否是致命错误?我在fatalhander中使用了函数“error_get_last()”,但它始终为空,但在我的旧php版本5.6中,它工作得很好:)很好。我不知道这是一个可恢复的错误。是的,这一个是可恢复的。我说错了-你抓不到致命的错误,但这一个不是致命的。在我的答案中编辑了一个例子。