在進行網路資料交換的時候總是遇到各種各樣的錯誤。
這些網路錯誤是來自client還是server。
我們來梳理一下:
我們將錯誤分為三個大類
作業系統錯誤
http請求錯誤
應用錯誤
1.作業系統錯誤是因為資料報沒有到達預定目標導致的,造成原因可能有:
沒有網路——沒有連線網路
無法路由到目標主機——主要是因為目標主機可能位於隔離網路或者處於離線狀態。導致的。
沒有應用監聽目標port——請求到達目標主機後資料報會傳送到指定的port號。假設server沒有監聽這個port號或者是有太多的請求在排隊那麼連線請求就會被拒絕。
無法解析目標主機名——url載入系統會返回錯誤。通常這些錯誤由配置錯誤或是嘗試訪問沒有外部名字解析且處於隔離網路中的主機造成的。
在ios的url載入系統中,作業系統錯誤會以nserror物件的形式傳送給應用。ios通過nserror在軟體中傳遞錯誤資訊。使用nserror的主要優勢在於nserror物件包括了錯誤域屬性;
有非常多網路請求問題是由於網路沒有連線造成的,所以我們每次進行網路請求的時候都須要進行檢查。由於移動裝置會移動出網路。這裡我們通常採用reachability。
http錯誤:
http錯誤是因為http請求。httpserver或應用server的問題造成的。http錯誤通過http響應的狀態碼傳送給請求client。
5類http錯誤
應用錯誤
這些錯誤是是由執行在服務層之上的業務邏輯和應用造成的。
錯誤可能是**問題,比如異常,也可能是語義問題。比方向服務提供了無效賬號等。
又比如銀行卡中有500元錢而你要提1000元現金,這就會錯誤發生。
來自ios網路高階程式設計。
iOS開發之網路錯誤分層處理
在使用ios的url載入系統時,手機端和伺服器端端連線可能會出現各種各樣的錯誤,大致可以分為3種 2.5 下游錯誤的500級別,表示伺服器與下游伺服器之間出現了錯誤,客戶段就會收到500級別的錯誤,這時候通常都是後台開發的事情了,移動端告知他們修改。3 應用錯誤 應用產生的錯誤 這一層的錯誤是我們開...
IOS協議 IOS分類 IOS擴充套件 總結
1.協議 1.1 是一種要求,或是一種規則 1.2 對應程式來講,是只生成方法的宣告,不實現 1.3 協議必須被某個類採納,且在該類中給出協議中宣告的方法函式體 1.4 對於採納協議類的物件,可以和其它物件一樣使用 1.5 協議可以被繼承,包括多個父協議 1.6 協議可以被多重採納 下面一起看一下簡...
iOS 分類增加屬性
對於分類中 增加屬性 我的建議是 如果是唯讀屬性 那麼可以在分類中使用 如果是可變屬性 最好在 primary class 中使用 不要在分類中使用。如下 建立類 eocperson 增加分類 分類中有屬性 import eocperson.h inte ce eocperson addproper...