7. 错误处理¶
7.1. 异常处理¶
调用AmazonS3Exception类的相关接口时,如果抛出异常,则表明操作失败,否则操作成功。抛出异常时,方法返回的数据无效。AmazonS3Client类的接口异常时会抛出异常类 AmazonS3Exception 。
7.2. 异常处理实例¶
错误处理代码如下所示:
try
{
s3Client.ListObjects(bucket);
}
catch (AmazonS3Exception ex)
{
Console.WriteLine("Failed with HTTPStatus: {0}; \nErrorCode: {1}; \nErrorMessage: {2}; \nRequestID:{3};",
ex.StatusCode, ex.ErrorCode, ex.Message, ex.RequestId);
catch (Exception ex)
{
Console.WriteLine("Failed with ErrorMessage: {0}", ex.Message);
}
7.3. AmazonS3Exception¶
AmazonS3Exception指包括两类:
- 客户端异常,包括参数无效、文件不存在等错误。该类错误可以通过Exception.Message获取错误信息。
- 服务器端异常,指NOS返回的错误,比如无权限、文件不存在等。可以通过AmazonS3Exception.Message获取错误信息。该类异常还包含以下信息:
- HTTPStatus: HTTP状态码,通过AmazonS3Exception.StatusCode获取。
- ErrorCode: NOS返回给用户的错误码,通过AmazonS3Exception.ErrorCode获取。
- ErrorMessage: NOS提供的错误描述,通过AmazonS3Exception.Message获取。
- RequestId: 用于唯一标识该请求的UUID;当您无法解决问题时,可以凭这个RequestId来请求NOS开发工程师的帮助。通过AmazonS3Exception.RequestId获取。