OSS PHP SDK异常(OssException)包括参数无效、文件不存在等错误。您可以通过getMessage方法获取错误信息。
OssException的详细信息请参见GitHub 。
异常处理示例
以下代码展示了创建一个已存在的存储空间时的异常处理,并打印出错误信息(Message)。
try {
$ossClient->createBucket($bucket);
} catch (OssException $e) {
print("Exception:" . $e->getMessage() . "\n");
}
您还可以获取以下信息:
| 参数 | 说明 |
|---|---|
| HTTPStatus | HTTP状态码,通过方法getHTTPStatus获取。 |
| ErrorCode | OSS返回的错误码,通过方法getErrorCode获取。 |
| ErrorMessage | OSS返回的错误信息,通过方法getErrorMessage获取。 |
| RequestId | 用于唯一标识该请求的UUID。当您无法解决问题时,可以提供RequestId来请求OSS开发工程师的帮助。通过方法getRequestId获取。 |
| Details | OSS返回的错误信息描述。通过方法getDetails获取。 |
OSS常见错误码
| 错误码 | 描述 | HTTP状态码 |
|---|---|---|
| AccessDenied | 拒绝访问 | 403 |
| BucketAlreadyExists | 存储空间已经存在 | 409 |
| BucketNotEmpty | 存储空间不为空 | 409 |
| EntityTooLarge | 实体过大 | 400 |
| EntityTooSmall | 实体过小 | 400 |
| FileGroupTooLarge | 文件组过大 | 400 |
| FilePartNotExist | 文件分片不存在 | 400 |
| FilePartStale | 文件分片过时 | 400 |
| InvalidArgument | 参数格式错误 | 400 |
| InvalidAccessKeyId | AccessKeyId不存在 | 403 |
| InvalidBucketName | 无效的存储空间名称 | 400 |
| InvalidDigest | 无效的摘要 | 400 |
| InvalidObjectName | 无效的文件名称 | 400 |
| InvalidPart | 无效的分片 | 400 |
| InvalidPartOrder | 无效的分片顺序 | 400 |
| InvalidTargetBucketForLogging | Logging操作中有无效的目标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 |
| InvalidEncryptionAlgorithmError | 指定的熵编码加密算法错误 | 400 |