已知直接子类 |
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
。