首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果发生错误,如何尝试捕捉?

如果发生错误,如何尝试捕捉?
EN

Stack Overflow用户
提问于 2013-01-31 08:26:14
回答 3查看 304关注 0票数 1

可能重复: How to catch curl errors in PHP

我有几行代码:

代码语言:javascript
运行
复制
<?php
try {
    $my_curl = curl_init();

    curl_setopt($my_curl, CURLOPT_URL, $one_url); 
    curl_setopt($my_curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($my_curl, CURLOPT_BINARYTRANSFER, 1);
    $datum = curl_exec($my_curl);
    curl_close($my_curl);

    $my_image = imagecreatefromstring($datum);

} catch(Exception $e) {
    var_dump($e->getMessage());
}       
?>

在实际环境中运行时,一些包含图像(如$one_url)的站点无法访问或死亡或.导致一/或多行代码变成错误。

如果不能成功地执行任何语句,我如何尝试-捕捉?换句话说,我喜欢尝试-抓住就像.开关箱(如果不是其他)。

任何建议都将不胜感激!非常感谢。

EN

回答 3

Stack Overflow用户

发布于 2013-01-31 08:29:35

你可以用curl_error来做

代码语言:javascript
运行
复制
$datum = curl_exec($my_curl);
if($datum === false) {
    echo 'Curl error: '.curl_error($ch);
}
票数 1
EN

Stack Overflow用户

发布于 2013-01-31 08:29:57

如果返回false,为什么不抛出异常呢?

代码语言:javascript
运行
复制
if ($curlResp === FALSE) {
    throw new Exception(); 
}

检查this

返回值

在成功时返回TRUE,在失败时返回FALSE。但是,如果设置了CURLOPT_RETURNTRANSFER选项,它将在成功时返回结果,在失败时返回FALSE

票数 0
EN

Stack Overflow用户

发布于 2013-01-31 08:32:07

试试这个:

代码语言:javascript
运行
复制
if(curl_errno($my_curl))
{
    echo 'error:' . curl_error($my_curl);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14621339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档