NetworkException

public abstract class NetworkException extends 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