OSS Android SDK 中有两种异常 ClientException 以及 ServiceException 。

ClientException

ClientException 指客户端尝试向 OSS 发送请求以及数据传输时遇到的异常。例如,当发送请求时网络连接不可用,则会抛出 ClientException。当上传文件时发生 IO 异常,也会抛出 ClientException。

ServiceException

OSSException 指服务器端错误,它来自于对服务器错误信息的解析。OSSException 包含 OSS 返回的错误码和错误信息,便于定位问题,并做出适当的处理。

OSSException 通常包含以下错误信息:

参数 描述
Code OSS 返回的错误码。
Message OSS 返回的详细错误信息。
RequestId 用于唯一标识该请求的 UUID。当您无法解决问题时,可以提供 RequestId 来请求 OSS 开发工程师的帮助。
HostId 用于标识访问的 OSS 集群,与请求时使用的 Host 一致。
rawMessage HTTP 响应的原始 Body 文本。

OSS常见错误码

错误码 描述
AccessDenied 拒绝访问
BucketAlreadyExists Bucket 已经存在
BucketNotEmpty Bucket 不为空
EntityTooLarge 实体过大
EntityTooSmall 实体过小
FileGroupTooLarge 文件组过大
FilePartNotExist 文件 Part 不存在
FilePartStale 文件 Part 过时
InvalidArgument 参数格式错误
InvalidAccessKeyId AccessKeyId 不存在
InvalidBucketName 无效的 Bucket 名字
InvalidDigest 无效的摘要
InvalidObjectName 无效的 Object 名字
InvalidPart 无效的 Part
InvalidPartOrder 无效的 part顺序
InvalidTargetBucketForLogging Logging 操作中有无效的目标 Bucket
InternalError OSS 内部发生错误
MalformedXML XML 格式非法
MethodNotAllowed 不支持的方法
MissingArgument 缺少参数
MissingContentLength 缺少内容长度
NoSuchBucket Bucket 不存在
NoSuchKey 文件不存在
NoSuchUpload MultipartUpload ID 不存在
NotImplemented 无法处理的方法
PreconditionFailed 预处理错误
RequestTimeTooSkewed 发起请求的时间和服务器时间超出 15 分钟
RequestTimeout 请求超时
SignatureDoesNotMatch 签名错误
TooManyBuckets 用户的 Bucket 数目超过限制