OSS .NET SDK 包含两类异常,一类是客户端异常ClientException,另一类是服务器端异常OSSException,它们均继承自RuntimeException。
ClientException
ClientException指客户端尝试向OSS发送请求以及数据传输时遇到的异常。例如,当发送请求时网络连接不可用,则会抛出ClientException。当上传文件时发生IO异常,也会抛出ClientException。
OSSException
OSSException指服务器端异常,它来自于对服务器错误信息的解析。OSSException包含OSS返回的错误码和错误信息,便于定位问题,并做出适当的处理。
OSSException通常包含以下错误信息:
| 参数 | 描述 |
|---|---|
| Code | OSS返回的错误码。 |
| Message | OSS返回的详细错误信息。 |
| RequestId | 用于唯一标识该请求的UUID。当您无法解决问题时,可以提供RequestId来请求OSS开发工程师的帮助。 |
| HostId | 用于标识访问的OSS集群,与请求时使用的Host一致。 |
OSS常见错误码
| 错误码 | 描述 |
|---|---|
| AccessDenied | 拒绝访问 |
| BucketAlreadyExists | 存储空间已经存在 |
| BucketNotEmpty | 存储空间非空 |
| EntityTooLarge | 实体过大 |
| EntityTooSmall | 实体过小 |
| FileGroupTooLarge | 文件组过大 |
| FilePartNotExist | 文件分片不存在 |
| FilePartStale | 文件分片过时 |
| InvalidArgument | 参数格式错误 |
| InvalidAccessKeyId | AccessKeyId不存在 |
| InvalidBucketName | 无效的存储空间名称 |
| InvalidDigest | 无效的摘要 |
| InvalidObjectName | 无效的文件名称 |
| InvalidPart | 无效的分片 |
| InvalidPartOrder | 无效的分片顺序 |
| InvalidTargetBucketForLogging | Logging操作中有无效的目标存储空间 |
| InternalError | OSS内部错误 |
| MalformedXML | XML格式非法 |
| MethodNotAllowed | 不支持的方法 |
| MissingArgument | 缺少参数 |
| MissingContentLength | 缺少内容长度 |
| NoSuchBucket | 存储空间不存在 |
| NoSuchKey | 文件不存在 |
| NoSuchUpload | 分片上传ID不存在 |
| NotImplemented | 无法处理的方法 |
| PreconditionFailed | 预处理错误 |
| RequestTimeTooSkewed | 客户端本地时间和OSS服务器时间相差超过15分钟 |
| RequestTimeout | 请求超时 |
| SignatureDoesNotMatch | 签名错误 |
| TooManyBuckets | 用户的存储空间数目超过限制 |