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() 方法稍后检索)。允许为 null 值,表示原因不存在或未知。

公共方法

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