NetworkException

public abstract class NetworkException extends CronetException

已知的直接子類別
QuicException

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


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

摘要

常數

static final int

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

static final int

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

static final int

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

static final int

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

static final int

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

static final int

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

static final int

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

static final int

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

static final int

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

static final int

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

static final int

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

受保護的建構函式

NetworkException(String message, Throwable cause)

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

公用方法

abstract int

傳回 Cronet 內部錯誤代碼。

abstract int

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

abstract boolean

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

繼承方法

來自 java.lang.Throwable
synchronized final void
synchronized Throwable
synchronized Throwable
String
String
StackTraceElement[]
synchronized final Throwable[]
synchronized Throwable
void
void
setStackTrace(StackTraceElement[] p)
String

常數

ERROR_ADDRESS_UNREACHABLE

public static final int ERROR_ADDRESS_UNREACHABLE = 9

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

ERROR_CONNECTION_CLOSED

public static final int ERROR_CONNECTION_CLOSED = 5

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

ERROR_CONNECTION_REFUSED

public static final int ERROR_CONNECTION_REFUSED = 7

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

ERROR_CONNECTION_RESET

public static final int ERROR_CONNECTION_RESET = 8

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

ERROR_CONNECTION_TIMED_OUT

public static final int ERROR_CONNECTION_TIMED_OUT = 6

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

ERROR_HOSTNAME_NOT_RESOLVED

public static final int ERROR_HOSTNAME_NOT_RESOLVED = 1

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

ERROR_INTERNET_DISCONNECTED

public static final int ERROR_INTERNET_DISCONNECTED = 2

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

ERROR_NETWORK_CHANGED

public static final int ERROR_NETWORK_CHANGED = 3

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

ERROR_OTHER

public static final int ERROR_OTHER = 11

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

ERROR_QUIC_PROTOCOL_FAILED

public static final int ERROR_QUIC_PROTOCOL_FAILED = 10

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

ERROR_TIMED_OUT

public static final int ERROR_TIMED_OUT = 4

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

受保護的建構函式

NetworkException

protected NetworkException(String message, Throwable cause)

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

參數
String message

說明失敗原因。

Throwable cause

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

公用方法

getCronetInternalErrorCode

public abstract int getCronetInternalErrorCode()

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

傳回
int

Cronet 內部錯誤代碼。

getErrorCode

public abstract int getErrorCode()

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

傳回
int

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

immediatelyRetryable

public abstract boolean immediatelyRetryable()

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

傳回
boolean

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