2011-03-14 40 views
4

我使用的是Facebook C#SDK v5.0.3。我開發了一個Silverlight應用程序。 如果我的代碼詢問無效或未經授權的圖形請求,例如:http://graph.facebook.com/me/Idonotexists(facebook C#SDK)任何避免在「遠程服務器返回錯誤:NotFound」時引發異常的方法。

Facebook返回「未找到」消息。在該方法FacebookClient:ResponseCallback()引發「未找到」消息時,Facebook C#SDK將引發異常。

這個異常沒有捕捉到任何地方,並使Silverlight應用程序死亡(IE顯示一個白色的空白頁面)。

有沒有反正我可以捕捉到異常? 嘗試並捕獲我的請求fb.GetAsync(pathBox.Text,parameters,get_data_callback)不起作用,因爲它在回調之前被拋出。

下面除了是一個功能性的解決方法的問題,但它從一個最好的做法是遠:

private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e) 
{ 
    e.Handled = true; // do this to prevent white page 
} 

回答

0

基本上它拋出OAuthException所以我們要做的就是抓住它。

嗯,我認爲這可以通過下面的代碼捕獲。我認爲它應該工作。告訴我這是否工作?

app.GetAsync("me/photo", (friends) => 
      {      
        if (friends.Error == null) 
        { 
         dynamic news = friends.Result; 
        } 
      } 
+0

它不起作用。我猜測GetAsync方法是異步的,catch語句早在拋出異常時就沒有了。 – blelem 2011-03-14 18:00:52

+0

那麼你想要改變什麼?圖片ablums是什麼? – 2011-03-14 18:17:31

+0

這並不重要,我想要檢索。我期待SDK足夠健壯,如果我問一個愚蠢的請求,它不會使整個應用程序崩潰,它只是很好地回覆告訴我,有一個錯誤。我可以很容易地註釋掉FacebookClient中引發的異常:ResponseCallback(),但我更願意使用SDK。 – blelem 2011-03-14 18:24:55

相關問題