异常处理
本文介绍在应用代码中如何处理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时序引擎返回的错误对应的详细错误,请参见常见错误码参考。