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