我有一个脚本可以删除一些旧的HTML。它每天约1000页,并且每隔一段时间就扼流圈出于某种原因,并抛出了以下错误:无法从QueryPath中捕获“可捕获的致命错误”
PHP Catchable fatal error: Argument 1 passed to DOMXPath::__construct() must be an instance of DOMDocument, null given, called in /var/scraper/autotrader/inc/QueryPath/QueryPath/CSS/DOMTraverser.php on line 417 and defined in /var/scraper/autotrader/inc/QueryPath/QueryPath/CSS/DOMTraverser.php on line 467
起初我还以为是在htmlqp($ HTML)被称为产生差错,但我已经在一个try {}语句包裹它,它并没有捕捉到任何:
UPDATE:
我用@时看到脚本将没有错误终止发现问题的代码行。这是该行:
try {
$items = $html->find('.searchResultHeader')->find('.vehTitle'); //this one
} catch (Exception $e) {
var_dump(get_class($e));
echo 'big dump'.$e->getTraceAsString();
}
当炸弹出来,它甚至不呼应“大翻斗”,所以它确实似乎没有抓住它。
我在想,如果这可能是QueryPath的错误处理而不是我自己的错误?
有没有人可以提供一些见解,为什么这不是捕捉? – James
我不知道它是否仍然需要某人,谁需要解决方案请求chekc http://stackoverflow.com/questions/2468487/how-can-i-catch-a-catchable-fatal-error-on- PHP型暗示 –