NetworkException

public abstract class NetworkException 扩展了 CronetException
已知直接子类

Cronet 未能处理网络请求时,传递给 UrlRequest.Callback.onFailed() 的异常。在这种情况下,可以使用 getErrorCode()getCronetInternalErrorCode() 来获取有关特定失败类型的更多信息。如果 getErrorCode() 返回 ERROR_QUIC_PROTOCOL_FAILED,则可以将此异常转换为 QuicException,以获取更多详细信息。

常量摘要

int ERROR_ADDRESS_UNREACHABLE 错误代码,表示正在联系的 IP 地址无法访问,这意味着到指定主机或网络没有路由。
int ERROR_CONNECTION_CLOSED 错误代码,表示连接意外关闭。
int ERROR_CONNECTION_REFUSED 错误代码,表示连接尝试被拒绝。
int ERROR_CONNECTION_RESET 错误代码,表示连接意外重置。
int ERROR_CONNECTION_TIMED_OUT 错误代码,表示连接尝试超时。
int ERROR_HOSTNAME_NOT_RESOLVED 错误代码,表示正在发送请求的主机无法解析为 IP 地址。
int ERROR_INTERNET_DISCONNECTED 错误代码,表示设备未连接到任何网络。
int ERROR_NETWORK_CHANGED 错误代码,表示在处理请求时网络配置发生了变化。
int ERROR_OTHER 错误代码,表示遇到另一种类型的错误。
int ERROR_QUIC_PROTOCOL_FAILED 错误代码,表示与 QUIC 协议相关的错误。
int ERROR_TIMED_OUT 错误代码,表示超时已过期。

受保护构造函数摘要

NetworkException(String message, Throwable cause)
构造因网络错误引起的异常。

公共方法摘要

abstract int
getCronetInternalErrorCode()
返回 Cronet 内部错误代码。
abstract int
getErrorCode()
返回错误代码,为 ERROR_* 之一。
abstract boolean
immediatelyRetryable()
如果立即重试此请求可能成功,则返回 true,否则返回 false

继承方法摘要

常量

public static final int ERROR_ADDRESS_UNREACHABLE

错误代码,表示正在联系的 IP 地址无法访问,这意味着到指定主机或网络没有路由。

常量值: 9

public static final int ERROR_CONNECTION_CLOSED

错误代码,表示连接意外关闭。

常量值: 5

public static final int ERROR_CONNECTION_REFUSED

错误代码,表示连接尝试被拒绝。

常量值: 7

public static final int ERROR_CONNECTION_RESET

错误代码,表示连接意外重置。

常量值: 8

public static final int ERROR_CONNECTION_TIMED_OUT

错误代码,表示连接尝试超时。

常量值: 6

public static final int ERROR_HOSTNAME_NOT_RESOLVED

错误代码,表示正在发送请求的主机无法解析为 IP 地址。

常量值: 1

public static final int ERROR_INTERNET_DISCONNECTED

错误代码,表示设备未连接到任何网络。

常量值: 2

public static final int ERROR_NETWORK_CHANGED

错误代码,表示在处理请求时网络配置发生了变化。当 getErrorCode() 返回此代码时,如果使用了 QUIC 协议,则可以将此异常转换为 QuicException 以获取更多信息。

常量值: 3

public static final int ERROR_OTHER

错误代码,表示遇到另一种类型的错误。可以查询 getCronetInternalErrorCode() 以获取更具体的错误原因。

常量值: 11

public static final int ERROR_QUIC_PROTOCOL_FAILED

错误代码,表示与 QUIC 协议相关的错误。当 getErrorCode() 返回此代码时,可以将此异常转换为 QuicException 以获取更多信息。

常量值: 10

public static final int ERROR_TIMED_OUT

错误代码,表示超时已过期。尝试连接时发生的超时将报告为更具体的 ERROR_CONNECTION_TIMED_OUT

常量值: 4

受保护的构造函数

protected NetworkException (String message, Throwable cause)

构造因网络错误引起的异常。

参数
message 失败的解释。
cause 原因(由 getCause() 方法保存供以后检索)。允许使用 null 值,表示原因不存在或未知。

公共方法

public abstract int getCronetInternalErrorCode ()

返回 Cronet 内部错误代码。这可能比 getErrorCode() 提供更具体的错误诊断,但常量值不会暴露给 Java,并且可能会随时间变化。请参阅此处,了解最新的值列表。

返回
  • Cronet 内部错误代码。

public abstract int getErrorCode ()

返回错误代码,为 ERROR_* 之一。

返回
  • 错误代码,为 ERROR_* 之一。

public abstract boolean immediatelyRetryable ()

如果立即重试此请求可能成功,则返回 true,否则返回 false。例如,当 getErrorCode() 返回 ERROR_NETWORK_CHANGED 时返回 true,因为尝试请求可能在新网络配置下成功,但当 getErrorCode() 返回 ERROR_INTERNET_DISCONNECTED 时返回 false,因为立即重试请求会遇到相同的失败(相反,应延迟重试直到设备重新获得网络连接)。

返回
  • 如果立即重试此请求可能成功,则返回 true,否则返回 false