我有一些代码:
<?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
)无法访问或死亡或......导致一行/多行代码变为错误。
如何尝试 - 捕获是否有任何声明无法成功完成?换句话说,我喜欢尝试 - 捕捉的作品就像...开关 - 案例(不是否则)。
任何建议将不胜感激!非常感谢你。
答案 0 :(得分:1)
您可以使用curl_error
:
$datum = curl_exec($my_curl);
if($datum === false) {
echo 'Curl error: '.curl_error($ch);
}
答案 1 :(得分:0)
为什么不在返回false时抛出异常?
即。
if ($curlResp === FALSE) {
throw new Exception();
}
检查this
返回值
成功时返回TRUE,失败时返回FALSE
。但是,如果设置了CURLOPT_RETURNTRANSFER
选项,则会在成功时返回结果,失败时会返回FALSE
。
答案 2 :(得分:0)
试试这个:
if(curl_errno($my_curl))
{
echo 'error:' . curl_error($my_curl);
}