2011-03-22 32 views
1

我使用Facebook的PHP API,以及約1時40它轉儲在我的web應用此異常:PHP - 我該如何靜音/替換這個異常處理程序?

Uncaught CurlException: 56: SSL read: error:00000000:lib(0):func(0):reason(0), errno 104 thrown in ... on line 638

我不是在尋找一個解決方案是什麼引起的異常(已經着手對),但現在我想將其從轉儲頁面上的異常更改爲告訴用戶刷新頁面或自動刷新頁面。

的異常被拋出在該文件中:https://github.com/facebook/php-sdk/blob/master/src/facebook.php

這是我想暫時更改爲刷新/刷新指令代碼:

if (curl_errno($ch) == 60) { // CURLE_SSL_CACERT 
    self::errorLog('Invalid or no certificate authority found, using bundled information'); 
    curl_setopt($ch, CURLOPT_CAINFO, 
       dirname(__FILE__) . '/fb_ca_chain_bundle.crt'); 
    $result = curl_exec($ch); 
} 

if ($result === false) { 
    $e = new FacebookApiException(array(
    'error_code' => curl_errno($ch), 
    'error'  => array(
     'message' => curl_error($ch), 
     'type' => 'CurlException', 
    ), 
)); 
    curl_close($ch); 
    throw $e; 
} 
+3

抓住例外也許? – 2011-03-22 12:28:14

回答

0

你拋出異常$Ë在導致傾銷的最後一行。相反,你可以做類似

echo "ERROR: " . $e->getMessage(); 
1

正如strauberry所說,你可以停止拋出異常。如果需要拋出異常,則可以將調用此內存的代碼放入中,並根據需要處理異常。

另一種選擇是使用功能set_exception_handler。這個函數將在拋出異常時被調用,但沒有任何結果。