异常处理

本文介绍在应用代码中如何处理Lindorm TSDB SDK抛出的异常。

Lindorm TSDB SDK 包含两类异常,一类是客户端异常ClientException, 另一类是服务端异常LindormTSDBException, 它们均继承自RuntimeException。

ClientException

ClientException指客户端尝试向Lindorm时序引擎发送请求以及数据传输时遇到的异常。例如,当发送请求时网络连接不可用,则会抛出ClientException。

LindormTSDBException

LindormTSDBException指服务器端异常,它来自于对服务器错误信息的解析。LindormTSDBException包含Lindorm时序引擎返回的错误码和错误信息,便于定位问题,并做出适当的处理。LindormTSDBException通常包含以下错误信息:

参数

描述

code

Lindorm时序引擎返回的错误码。

sqlstate

Lindorm时序引擎返回的sqlstate值。

message

Lindorm时序引擎返回的详细错误信息。

说明

关于Lindorm时序引擎返回的错误对应的详细错误,请参见:常见错误码参考

异常处理示例

以下代码用于展示异常处理:

try {
    // Lindorm TSDB操作,比如查询数据等;
    lindormTSDBClient.query(....);
} catch (LindormTSDBException e) {
    System.out.println("Caught an LindormTSDBException, which means your request made it to Lindorm TSDB, "
            + "but was rejected with an error response for some reason.");
    System.out.println("Error Code: " + e.getCode());
    System.out.println("SQL State:  " + e.getSqlstate());
    System.out.println("Error Message: " + e.getMessage());
} catch(ClientException ce) {
    System.out.println("Caught an ClientException, which means the client encountered "
            + "a serious internal problem while trying to communicate with Lindorm TSDB, "
            + "such as not being able to access the network.");
    System.out.println("Error Message: " + ce.getMessage());
} 

说明

关于Lindorm时序引擎返回的错误对应的详细错误,请参见常见错误码参考