异常处理

最近更新时间:2024-01-16 17:58:31

我的收藏

简介

调用 SDK 请求对象存储(Cloud Object Storage,COS)或数据万象(Cloud Infinite,CI)服务失败时,抛出的异常皆是 RuntimeExcpetion。 目前 SDK 常见的异常有 CosClientException,CosServiceException,CIServiceException 和 IllegalArgumentException。

客户端异常

CosClientException 是由于客户端无法和服务端完成正常的交互而导致的失败。例如客户端无法连接到服务端,无法解析服务端返回的数据,读取本地文件发生 IO 异常等。CosClientException 继承自 RuntimeException,没有自定义的成员变量,使用方法同 RuntimeException。

服务端异常

CosServiceException 和 CIServiceException 用于指交互正常完成,但是操作失败的场景。例如客户端访问一个不存在 Bucket,删除一个不存在的文件,没有权限进行某个操作,服务端故障异常等。 CosServiceException 包含了服务端返回的状态码,requestid,出错明细等。捕获异常后,建议对整个异常进行打印,异常包含了必须的排查因素。以下是异常成员变量的描述:
request 成员
描述
类型
requestId
请求 ID,用于表示一个请求,对于排查问题十分重要
String
traceId
辅助排查问题的 ID
String
statusCode
response 的 status 状态码,4xx 是指请求因客户端而失败,5xx 是服务端异常导致的失败。请参见 COS 错误码
String
errorType
枚举类,表示异常的种类,分为 Client,Service,Unknown
ErrorType
errorCode
请求失败时 body 返回的 Error Code 请参见 COS 错误码
String
errorMessage
请求失败时 body 返回的 Error Message 请参见 COS 错误码
String

使用自助诊断工具

针对请求可能遇到不同的报错情况,我们为您提供了 CI 自助诊断工具,帮助您快速定位问题,调试报错代码。

使用步骤

1. 复制异常处理返回的 RequestId(请求 ID)。
2. 单击 CI 自助诊断工具,进入自助诊断页面。

3. 在顶部的 RequestId 输入框中,输入待诊断的 RequestId,并单击开始诊断,请您耐心等待几分钟,便能看到相应的智能诊断结果。

常见问题

若您在使用 Java SDK 过程中,有相关的疑问,请参见 常见问题 文档。