一,在接口契約中處理錯誤。
二,錯誤狀態可能不正確。
設備模糊地確認操作是崇拜失敗的。比如,移動應用發出HTTP請求以在兩個賬戶間轉賬。請求被銀行系統接收并正確地處理;然而,由于網絡失敗應答卻丟失了,NSURLConnection報告超時。超時發生了,但卻是在轉賬請求成功之后發生的。如果重試該操作,就會導致重復轉賬,可能會造成用戶透支。
三,驗證負載。
JSON和xml就具備了驗證機制的負載格式,不過,以逗號分隔的值文件與HTML就沒有這種機制。
四,分離錯誤與正常的業務狀況。
五,總是檢查HTTP狀態。
六,總是檢查NSError的值。
七,使用一致的方法來處理錯誤。
八,總是設置超時時間。
在iOS中,HTTP請求的默認超市時間是4分,這對于移動應用來說過長了。大多數用戶都不會在任何應用中等待4分鐘。開發者需要選擇合理的超時時間,方式是
評估網絡請求的可能響應時間,然后將最差的網絡場景下的網絡延遲考慮進去。
參考資料:《iOS網絡高級編程-iphone和iPad的企業應用開發》
新聞熱點
疑難解答