异常处理
使用OSS C SDK时,如果请求出错,会在aos_status_s中输出相应的错误信息。aos_status_s包含以下信息。
错误码 |
描述 |
字符类型 |
code |
出错请求的HTTP状态码。 |
整型 |
error_code |
OSS的错误码。 |
字符串 |
error_msg |
OSS的错误信息。 |
字符串 |
req_id |
标识该次请求的UUID。 |
字符串 |
超时处理
如果返回的aos_status_t中的code不等于2XX,且error_code为-992或者-995时,表示链接超时或请求超时,可以重试。
使用aos_status.h中的aos_should_retry(aos_status_t *),判断返回的错误码是否需要重试。如果返回1,表示需要重试。
常见错误码
错误码 |
描述 |
HTTP 状态码 |
AccessDenied |
拒绝访问 |
403 |
BucketAlreadyExists |
存储空间已存在 |
409 |
BucketNotEmpty |
存储空间非空 |
409 |
EntityTooLarge |
实体过大 |
400 |
EntityTooSmall |
实体过小 |
400 |
FileGroupTooLarge |
文件组过大 |
400 |
FilePartNotExist |
文件分片不存在 |
400 |
FilePartStale |
文件分片过时 |
400 |
InvalidArgument |
参数格式错误 |
400 |
InvalidAccessKeyId |
AccessKey ID不存在 |
403 |
InvalidBucketName |
无效的存储空间名称 |
400 |
InvalidDigest |
无效的摘要 |
400 |
InvalidObjectName |
无效的文件名称 |
400 |
InvalidPart |
无效的分片 |
400 |
InvalidPartOrder |
无效的分片顺序 |
400 |
InvalidTargetBucketForLogging |
日志转存操作中指定用于存储日志记录的Bucket无效 |
400 |
InternalError |
OSS内部错误 |
500 |
MalformedXML |
XML格式非法 |
400 |
MethodNotAllowed |
不支持该方法 |
405 |
MissingArgument |
缺少参数 |
411 |
MissingContentLength |
缺少内容长度 |
411 |
NoSuchBucket |
存储空间不存在 |
404 |
NoSuchKey |
文件不存在 |
404 |
NoSuchUpload |
分片上传ID不存在 |
404 |
NotImplemented |
无法处理的方法 |
501 |
PreconditionFailed |
预处理错误 |
412 |
RequestTimeTooSkewed |
客户端本地时间和OSS服务器时间相差超过15分钟 |
403 |
RequestTimeout |
请求超时 |
400 |
SignatureDoesNotMatch |
签名错误 |
403 |
TooManyBuckets |
存储空间数量超过限制 |
400 |
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/159714.html