.NET SDK 手册

错误处理

异常处理

调用 NosClient 类的相关接口时,如果抛出异常,则表明操作失败,否则操作成功。抛出异常时,方法返回的数据无效。NosClient 类的接口异常时会抛出异常类 NosException 。

异常处理实例

错误处理代码如下所示:

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);
}

NosException

NosException 指包括两类:

  • 客户端异常,包括参数无效、文件不存在等错误。该类错误可以通过 Exception.Message 获取错误信息。
  • 服务器端异常,指 NOS 返回的错误,比如无权限、文件不存在等。可以通过 NosException.Message 获取错误信息。该类异常还包含以下信息:

  1. HTTPStatus: HTTP 状态码,通过 NosException.StatusCode 获取。
  2. ErrorCode: NOS 返回给用户的错误码,通过 NosException.ErrorCode 获取。
  3. ErrorMessage: NOS 提供的错误描述,通过 NosException.Message 获取。
  4. RequestId: 用于唯一标识该请求的 UUID;当您无法解决问题时,可以凭这个 RequestId 来请求 NOS 开发工程师的帮助。通过 NosException.RequestId 获取。
  5. Resource: NOS 返回的包含了 Bucket 或 Object 的请求资源描述符。通过 NosException.Resource 获取。