全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
高性能时间序列数据库 HiTSDB

异常处理

更新时间:2017-12-11 15:15:56

异常处理

HiTSDB-Client SDK 不强制处理异常,所有异常均以 RuntimeException 形式抛出。用户可以更具需要捕捉,处理异常。

HiTSDB-Client SDK 常用异常:

异常类说明
HttpClientExceptionClient 异常
HttpClientConnectionRefusedExceptionHiTSDB 服务器拒绝连接
HttpClientInitExceptionClient 初始化异常
HttpClientSocketTimeoutException请求超时
HttpServerErrorExceptionHiTSDB 服务端返回5xx 错误
HttpServerNotSupportExceptionHiTSDB 服务端返回4xx 错误
HttpUnknowStatusExceptionHiTSDB 服务端的响应码未知
BufferQueueFullException异步提交缓冲队列已满

1.同步接口与异常处理

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);
}

2.异步接口与异常处理

在需要处理异常的时候,重写 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);
    }
};
本文导读目录