加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

尝试Catch with PHP警告

发布时间:2020-12-13 22:07:35 所属栏目:PHP教程 来源:网络整理
导读:有可能做一些会捕获警告的尝试捕获吗? 例如 if (!$dom-loadHTMLFile($url)) { //if cant load file handle error my way} 对于我正在使用的$url我正在使用 Warning (2): DOMDocument::loadHTMLFile(MYURL) [domdocument.loadhtmlfile]: failed to open stre
有可能做一些会捕获警告的尝试捕获吗?

例如

if (!$dom->loadHTMLFile($url)) {
    //if cant load file handle error my way
}

对于我正在使用的$url我正在使用

Warning (2): DOMDocument::loadHTMLFile(MYURL) [domdocument.loadhtmlfile]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden
 [APPcontrollersimport_controller.php,line 62]

Warning (2): DOMDocument::loadHTMLFile() [domdocument.loadhtmlfile]: I/O warning : failed to load external entity "hMYURL" [APPcontrollersimport_controller.php,line 62]

我可以只是抑制错误,并在调用返回false时执行某些操作,但我希望能够捕获确切的警告消息,然后对其执行某些操作.

这可能吗?

谢谢

解决方法

你应该使用 libxml_use_internal_errors.

此示例改编自手册:

libxml_use_internal_errors(true);
$doc = new DOMDocument();
$res = $doc->loadHTMLFile($url); //this may fail and return FALSE!
foreach (libxml_get_errors() as $error) {
    // handle errors here
}
libxml_clear_errors();

此处不会发出任何PHP通知.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读