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 用户的存储空间数目超过限制