全部產品
Search
文件中心

Lindorm:異常處理

更新時間:Jul 06, 2024

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