时序引擎 SDK 不强制处理异常,所有异常均以 RuntimeException 的形式抛出。用户可以根据需要捕捉,处理异常。

常见异常

异常类 描述
HttpClientException Client 异常
HttpClientConnectionRefusedException 时序引擎 服务器拒绝连接
HttpClientInitException Client 初始化异常
HttpClientSocketTimeoutException 请求超时
HttpServerErrorException 时序引擎 服务端返回 5xx 错误码
HttpServerNotSupportException 时序引擎 服务端返回 4xx 错误码
HttpUnknowStatusException 时序引擎 服务端的响应码未知
BufferQueueFullException 异步提交缓冲队列已满

异常处理

同步接口与异常处理
try {     
    tsdb.ttl(10000);
} catch(HttpServerNotSupportException e) {    
    int status = e.getStatus();    
    String message = e.getMessage();    
    System.err.println(status + "," + message);
} catch(HttpServerErrorException e) {    
    int status = e.getStatus();    
    String message = e.getMessage();    
    System.err.println(status + "," + message);
}

异步接口与异常处理

在需要处理异常的时候,重写 failed 方法。
QueryCallback cb = new QueryCallback() {    

    @Override    
    public void response(Query input, List<QueryResult> result) {        
        System.out.println("查询参数:" + input);        
        System.out.println("返回结果:" + result);    
    }    // 在需要处理异常的时候,重写 failed 方法    

    @Override    
    public void failed(Query request, Exception ex) {        
        super.failed(request, ex);    
    }
};
BatchPutCallback cb = new BatchPutCallback() {    

    @Override    
    public void response(List<Point> input, Result output) {        
        long afterNum = num.addAndGet(input.size());        
        System.out.println("成功处理" + input.size() + ",已处理" + afterNum);    
    }    

    @Override    
    public void failed(List<Point> input, Exception ex) {        
        ex.printStackTrace();        
        long afterNum = num.addAndGet(input.size());        
        System.out.println("失败处理" + input.size() + ",已处理" + afterNum);    
    }

};