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數目超過限制 |