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,我如何处理它?请看我的编辑。我按照你的建议做了,但一直打印默认错误消息。