OSS Android SDK 中有两种异常 ClientException 以及 ServiceException ,它们都是受检异常。

ClientException

ClientException指SDK内部出现的异常,比如参数错误,网络无法到达,主动取消等等。

ServiceException

OSSException指服务器端错误,它来自于对服务器错误信息的解析。OSSException一般有以下几个成员:

  • Code: OSS返回给用户的错误码。
  • Message: OSS给出的详细错误信息。
  • RequestId: 用于唯一标识该次请求的UUID。当您无法解决问题时,可以凭这个RequestId来请求OSS开发工程师的帮助。
  • HostId: 用于标识访问的OSS集群。
  • 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 Multipart Upload ID不存在
NotImplemented 无法处理的方法
PreconditionFailed 预处理错误
RequestTimeTooSkewed 发起请求的时间和服务器时间超出15分钟
RequestTimeout 请求超时
SignatureDoesNotMatch 签名错误
TooManyBuckets 用户的Bucket数目超过限制