我正在使用QueryPath从一个网站上抓取一些数据。但是,我经常收到下面的错误消息,并且脚本终止。
PHP Catchable fatal error: Argument 1 passed to DOMXPath::__construct() must be an instance of DOMDocument, null given, called in ....inc/QueryPath/QueryPath/CSS/DOMTraverser.php on line 417 and defined in ....inc/QueryPath/QueryPath/CSS/DOMTraverser.php on line 467这个错误没有给我任何线索,说明错误来自哪一行代码,但假设它来自$outHtml = htmlqp($outHtml);,我尝试用@htmlqp为htmlqp命令加上前缀。
这不起作用,所以我试着用catch{}语句包装htmlqp,这似乎也没有帮助。
我所要做的就是忽略错误并继续,而不是让脚本爆炸。帮助!
发布于 2013-07-25 16:37:32
这是个致命的错误。那就抓住它。
如果你抓住它,你可以得到一个完整的堆栈跟踪。
例如:
try {
thisfunctionthrowsanexception();
} catch (Exception $e) {
var_dump(get_class($e));
echo $e->getTraceAsString();
}@隐藏错误。你不会想要用这个的。
发布于 2016-10-18 00:17:41
我只是试图解决一些生产代码中的相反问题:类型暗示根本不起作用。我追踪到罪魁祸首的原因如下:
set_error_handler('errorHandler');
function errorHandler($errno, $errstr, $errfile, $errline) {
// Whole bunch of irrelevant code
// ...
return;
}它处理错误..。根本什么都不做!
https://stackoverflow.com/questions/17863787
复制相似问题