Php 在函数中处理cURL错误?
我看过文档和一些教程。但是,我无法让我的代码处理错误。我只想打印“错误”,不管是什么错误 这是我的代码,没有处理错误Php 在函数中处理cURL错误?,php,curl,Php,Curl,我看过文档和一些教程。但是,我无法让我的代码处理错误。我只想打印“错误”,不管是什么错误 这是我的代码,没有处理错误 function get_data($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); $data = curl_exec($ch); curl_close($ch);
function get_data($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$page = get_data('http://....');
$doc = new DOMDocument();
@$doc->loadHTML($page);
echo $doc->saveHTML();
编辑:下一个打印默认错误消息,但不是我的
function get_data($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$data = curl_exec($ch);
if($data === FALSE) {
$msg = curl_error($ch);
curl_close($ch);
throw new Exception($msg);
}
curl_close($ch);
return $data;
}
try {
$page = get_data('wrong-url');
$doc = new DOMDocument();
@$doc->loadHTML($page);
$div = $doc->getElementById('cuerpo');
echo $doc->saveHTML($div);
} catch (Exception $e) {
echo 'Error ', $e->getMessage();
}
将在出现错误时返回false。在这种情况下,可以引发异常:
function get_data($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$data = curl_exec($ch);
if($data === FALSE) {
$msg = curl_error($ch);
curl_close($ch);
throw new Exception($msg);
}
curl_close($ch);
return $data;
}
好的,但是在函数之外,我使用的是get_data()函数返回的“$data”,不管它是ok还是false,我如何处理它?请看我的编辑。我按照你的建议做了,但一直打印默认错误消息。