| 已知直接子类 |
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 地址无法访问,这意味着到指定主机或网络没有路由。
public static final int ERROR_CONNECTION_CLOSED
错误代码,表示连接意外关闭。
public static final int ERROR_CONNECTION_REFUSED
错误代码,表示连接尝试被拒绝。
public static final int ERROR_CONNECTION_RESET
错误代码,表示连接意外重置。
public static final int ERROR_CONNECTION_TIMED_OUT
错误代码,表示连接尝试超时。
public static final int ERROR_HOSTNAME_NOT_RESOLVED
错误代码,表示正在发送请求的主机无法解析为 IP 地址。
public static final int ERROR_INTERNET_DISCONNECTED
错误代码,表示设备未连接到任何网络。
public static final int ERROR_NETWORK_CHANGED
错误代码,表示在处理请求时网络配置发生了变化。当 getErrorCode() 返回此代码时,如果使用了 QUIC 协议,则可以将此异常转换为 QuicException 以获取更多信息。
public static final int ERROR_OTHER
错误代码,表示遇到另一种类型的错误。可以查询 getCronetInternalErrorCode() 以获取更具体的错误原因。
public static final int ERROR_QUIC_PROTOCOL_FAILED
错误代码,表示与 QUIC 协议相关的错误。当 getErrorCode() 返回此代码时,可以将此异常转换为 QuicException 以获取更多信息。
public static final int ERROR_TIMED_OUT
错误代码,表示超时已过期。尝试连接时发生的超时将报告为更具体的 ERROR_CONNECTION_TIMED_OUT。
受保护的构造函数
protected NetworkException (String message, Throwable cause)
构造因网络错误引起的异常。
参数
| message | 失败的解释。 |
|---|---|
| cause | 原因(由 getCause() 方法保存供以后检索)。允许使用 null 值,表示原因不存在或未知。 |
公共方法
public abstract int getCronetInternalErrorCode ()
返回 Cronet 内部错误代码。这可能比 getErrorCode() 提供更具体的错误诊断,但常量值不会暴露给 Java,并且可能会随时间变化。请参阅此处,了解最新的值列表。
返回
- Cronet 内部错误代码。
public abstract boolean immediatelyRetryable ()
如果立即重试此请求可能成功,则返回 true,否则返回 false。例如,当 getErrorCode() 返回 ERROR_NETWORK_CHANGED 时返回 true,因为尝试请求可能在新网络配置下成功,但当 getErrorCode() 返回 ERROR_INTERNET_DISCONNECTED 时返回 false,因为立即重试请求会遇到相同的失败(相反,应延迟重试直到设备重新获得网络连接)。
返回
- 如果立即重试此请求可能成功,则返回
true,否则返回false。