NetworkException

abstract class NetworkException : CronetException

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

公共函数

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