开发者社区 问答 正文

Java-SDK的错误处理



方式


TableStore Java SDK 目前采用异常的方式处理错误,如果调用接口没有抛出异常,则说明操作成功,否则失败。
[backcolor=transparent]注意:批量相关接口,比如 BatchGetRow 和 BatchWriteRow 不仅需要判断是否有异常,还需要检查每个 row 的状态是否成功,只有全部成功后才能保证整个接口调用是成功的。

异常


TableStore Java SDK 中有 ClientException 和 OTSException 两种异常,他们都最终继承自 RuntimeException。


  • ClientException 指SDK内部出现的异常,比如参数设置不对等。

  • OTSException 指服务器端错误,它来自于对服务器错误信息的解析。OTSException 包含以下几个成员:
    getHttpStatus():HTTP 返回码,比如 200、404 等。

  • getErrorCode():表格存储返回的错误类型字符串。

  • getRequestId():用于唯一标识该次请求的 UUID;当您无法解决问题时,可以凭这个 RequestId 来请求表格存储开发工程师的帮助。

展开
收起
云栖大讲堂 2017-10-26 10:06:23 1872 分享 版权
阿里云 AI 助理回答

TableStore Java SDK 的错误处理机制及异常分类如下:

  1. 错误处理方式:

    • TableStore Java SDK 采用异常处理机制来报告错误。调用SDK接口时,若操作成功则不会抛出任何异常;反之,一旦发生错误,则会抛出相应的异常对象。
    • 对于批量操作接口(例如BatchGetRowBatchWriteRow),除了监控是否有异常抛出外,还必须检查每一条记录(row)的操作状态以确保所有操作均成功,这样才能认为整个批量操作是成功的。
  2. 异常类型及其说明:

    • ClientException: 此类异常表示客户端内部错误,通常与参数设置不当、配置错误等有关,属于SDK使用不当导致的问题。
    • OTSException(或称为TableStoreException): 表示服务端返回的错误,可能包括网络问题、服务器错误等。此异常包含以下关键成员方法:
      • getHttpStatus(): 获取HTTP响应状态码,如200表示成功,400系列和500系列通常表示请求错误或服务器错误。
      • getErrorCode(): 提供表格存储特有的错误代码字符串,有助于进一步定位问题。
      • getRequestId(): 每个请求的唯一标识符UUID,当遇到问题难以自行解决时,应记录此ID并联系技术支持获取帮助。

在处理这些异常时,开发者应当根据异常类型采取不同的应对措施,对于ClientException需检查并修正应用代码或配置,而对于OTSException则需根据错误代码分析问题,并在必要时利用getRequestId()提供的信息寻求官方支持。您也可以通过ECS一键诊断全面排查并修复ECS问题。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答