[英]How to ignore a PHP catchable fatal error from QueryPath?
我正在使用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
前缀。
这没有用,所以我然后尝试将htmlqp包装在catch {}语句中,这似乎也没有帮助。
我要做的就是忽略该错误并继续操作,而不是让脚本炸弹消失。 救命!
这是一个可捕获的致命错误。
如果抓住了它,您可以获得完整的堆栈跟踪。
例如:
try {
thisfunctionthrowsanexception();
} catch (Exception $e) {
var_dump(get_class($e));
echo $e->getTraceAsString();
}
@
隐藏错误。 您永远不需要使用它。
我只是想解决一些生产代码中的相反问题:类型提示根本不起作用。 我将罪魁祸首追溯到以下代码:
set_error_handler('errorHandler');
function errorHandler($errno, $errstr, $errfile, $errline) {
// Whole bunch of irrelevant code
// ...
return;
}
它通过根本不执行任何操作来处理错误!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.