NetworkException

abstract class NetworkException : CronetException

kotlin.Any
   ↳ kotlin.Throwable
     ↳ java.lang.Exception
       ↳ java.io.IOException
         ↳ org.chromium.net.CronetException
           ↳ org.chromium.net.NetworkException
已知的直接子類別
QuicException

NetworkException 的子類別,包含來自 QuicErrorCode 的詳細 QUIC 錯誤代碼。


如果 Cronet 無法處理網路要求,就會將例外狀況傳遞至 UrlRequest.Callback.onFailed()。在這種情況下,您可以使用 getErrorCodegetCronetInternalErrorCode 取得特定失敗類型的詳細資訊。如果 getErrorCode 傳回 ERROR_QUIC_PROTOCOL_FAILED,這個例外狀況可以轉換為 QuicException,進一步提供詳細資料。

摘要

常數

const Int

錯誤代碼,表示無法連線至所要連線的 IP 位址,也就是說,沒有通往指定主機或網路的路徑。

const Int

錯誤代碼,表示連線意外關閉。

const Int

錯誤代碼,指出連線嘗試遭拒。

const Int

錯誤代碼,指出連線已非預期地重設。

const Int

錯誤代碼,指出連線嘗試已逾時。

const Int

錯誤代碼,表示無法將傳送要求的主機解析為 IP 位址。

const Int

錯誤代碼,表示裝置未連上任何網路。

const Int

錯誤代碼,表示處理要求時,網路設定已變更。

const Int

錯誤代碼,表示發生其他類型的錯誤。

const Int

錯誤代碼,表示與 QUIC 通訊協定相關的錯誤。

const Int

指出逾時到期的錯誤代碼。

受保護的建構函式

NetworkException(message: String!, cause: Throwable!)

建構由網路錯誤導致的例外狀況。

公開函式

abstract Int

傳回 Cronet 內部錯誤代碼。

abstract Int

傳回錯誤代碼,為 ERROR_* 之一。

abstract Boolean

如果立即重試這項要求可能會成功,則傳回 true,否則傳回 false

常數

ERROR_ADDRESS_UNREACHABLE

const val ERROR_ADDRESS_UNREACHABLE = 9: Int

錯誤代碼,表示無法連線至所要連線的 IP 位址,也就是說,沒有通往指定主機或網路的路徑。

ERROR_CONNECTION_CLOSED

const val ERROR_CONNECTION_CLOSED = 5: Int

錯誤代碼,表示連線意外關閉。

ERROR_CONNECTION_REFUSED

const val ERROR_CONNECTION_REFUSED = 7: Int

錯誤代碼,指出連線嘗試遭拒。

ERROR_CONNECTION_RESET

const val ERROR_CONNECTION_RESET = 8: Int

錯誤代碼,指出連線已非預期地重設。

ERROR_CONNECTION_TIMED_OUT

const val ERROR_CONNECTION_TIMED_OUT = 6: Int

錯誤代碼,指出連線嘗試已逾時。

ERROR_HOSTNAME_NOT_RESOLVED

const val ERROR_HOSTNAME_NOT_RESOLVED = 1: Int

錯誤代碼,表示無法將傳送要求的主機解析為 IP 位址。

ERROR_INTERNET_DISCONNECTED

const val ERROR_INTERNET_DISCONNECTED = 2: Int

錯誤代碼,表示裝置未連上任何網路。

ERROR_NETWORK_CHANGED

const val ERROR_NETWORK_CHANGED = 3: Int

錯誤代碼,表示處理要求時網路設定已變更。當 getErrorCode 傳回這個程式碼時,如果使用 QUIC 通訊協定,這個例外狀況可能會轉換為 QuicException,以取得更多資訊。

ERROR_OTHER

const val ERROR_OTHER = 11: Int

錯誤代碼,表示發生其他類型的錯誤。getCronetInternalErrorCode 可供參考,瞭解更具體的原因。

ERROR_QUIC_PROTOCOL_FAILED

const val ERROR_QUIC_PROTOCOL_FAILED = 10: Int

錯誤代碼,表示與 QUIC 通訊協定相關的錯誤。當 getErrorCode 傳回這個程式碼時,這個例外狀況可以轉換為 QuicException,以取得更多資訊。

ERROR_TIMED_OUT

const val ERROR_TIMED_OUT = 4: Int

指出逾時到期的錯誤代碼。嘗試連線時逾時到期,系統會回報更具體的 ERROR_CONNECTION_TIMED_OUT

受保護的建構函式

NetworkException

protected NetworkException(message: String!, cause: Throwable!)

建構由網路錯誤導致的例外狀況。

參數
message: String!

說明失敗原因。

cause: Throwable!

原因 (透過 getCause() 方法儲存以供日後擷取)。(允許為空值,表示沒有原因或原因不明)。

公開函式

getCronetInternalErrorCode

abstract fun getCronetInternalErrorCode(): Int

傳回 Cronet 內部錯誤代碼。這項資訊提供的錯誤診斷結果可能比 getErrorCode 更具體,但常數值不會向 Java 公開,且可能會隨時間變更。如需最新值清單,請參閱 這裡

傳回
Int

Cronet 內部錯誤代碼。

getErrorCode

abstract fun getErrorCode(): Int

傳回錯誤代碼,為 ERROR_* 之一。

傳回
Int

錯誤代碼,其中一個為 ERROR_*

immediatelyRetryable

abstract fun immediatelyRetryable(): Boolean

如果立即重試這項要求可能會成功,則傳回 true,否則傳回 false。舉例來說,如果 getErrorCode 傳回 ERROR_NETWORK_CHANGED,則傳回 true,因為使用新的網路設定重試要求可能會成功,但如果 getErrorCode() 傳回 ERROR_INTERNET_DISCONNECTED,則傳回 false,因為立即重試要求會遇到相同的失敗情況 (應延遲重試,直到裝置重新連上網路為止)。

傳回
Boolean

如果立即重試這項要求可能會成功,則為 true,否則為 false