我正在玩try - catch块:
<?php
try {
$str = "http://rejstrik-firem.kurzy.cz/73631604";
$domOb = new DOMDocument();
$html = $domOb->loadHTMLFile($str);
$domOb->preserveWhiteSpace = false;
$container = $domOb->getElementById('ormaininfotab');
echo $container; // <========= this is intended error which I want catch
}
catch (Exception $e) {
echo "Exception" . $e->getMessage() . ". File: " . $e->getFile() . ", line: " . $e->getLine();
}
catch (Error $e) {
echo "Error" . $e->getMessage() . ". File: " . $e->getFile() . ", line: " . $e->getLine();
}
?>
Run Code Online (Sandbox Code Playgroud)
我的结果是这样的:
可捕获的致命错误:在第 8 行的 /var/www/html/cirkve_ares/test.php 中,类 DOMElement 的对象无法转换为字符串
为什么这个错误没有被第二次捕获捕获?
有人将此作为一个错误报告给 PHP 开发人员,他们立即认为这不是一个错误。https://bugs.php.net/bug.php?id=72948&edit=3
这种情况已被故意省略...(实际上,您可以简单地使用错误处理程序将可恢复的致命错误转换为异常...)
所以你仍然需要使用
功能,我们都希望留下它。PHP 开发人员非常擅长永远不会让你的日子太晴朗......
| 归档时间: |
|
| 查看次数: |
5713 次 |
| 最近记录: |