2013-07-20 145 views
0

當我嘗試從Google獲取聯繫人時,但有時當我點擊鏈接與Google API連接時,我收到一個錯誤頁,其中寫有連接失敗超時問題。 當我在此錯誤發生後的另一分鐘嘗試它時,它通常正常工作,但是有什麼辦法可以避免此錯誤嗎?嘗試連接Google,但有時會出現「連接失敗」

這不是很人性化,以只顯示此錯誤信息給用戶...

編輯:代碼一點點

begin 
    @contacts = Contacts::Gmail.new(@email, @password) 
    rescue 
    @error_message = 'Incorrect password. Try it, please, again.' 
    end 

這基本上是最重要的部分 - 當我調用該動作,命令

@contacts =聯繫人:: Gmail.new(@email,@password)

會嘗試連接Google的API。問題是,它有時會失敗,並描述有關錯誤消息 - 就像5次嘗試中的1次那樣。

有什麼辦法可以處理這種情況嗎?

+0

也許您提供一些詳細信息? –

+0

沒有一些代碼它有點難以支持 – Lichtamberg

+0

我已經添加了一些代碼,但它確實是基本和簡單的東西,基本上這隻有一行代碼調用Google API。 – user984621

回答

1

我想你可以使用retry

begin 
    @contacts = Contacts::Gmail.new(@email, @password) 
rescue Timeuot, ConnectionFailed 
    retry 
rescue 
    @error_message = 'Incorrect password. Try it, please, again.' 
end 

你需要把真正的異常類到位Timeuot &爲connectionFailed的。 這有點冒險,因爲如果你得到一個永久性的錯誤,它可能會在無限循環中結束,所以有一些計數器並重試只有3次是明智的。

更多詳細信息查看文檔http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_exceptions.html

相關問題