本文介紹在應用代碼中如何處理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時序引擎返回的錯誤對應的詳細錯誤,請參見常見錯誤碼參考。