我一直在寻找带有try-with-resources的CloseableHttpClient
完整示例。如果关闭CloseableHttpClient
也会关闭我调用CloseableHttpResponse
时将创建的httpclient.execute(post)
对象,我感到很困惑。我是否还需要在资源试用中包装CloseableHttpResponse
?
示例:
try(CloseableHttpClient httpclient = HttpClients.custom().build()) {
HttpPost post = new HttpPost(url);
CloseableHttpResponse res = httpclient.execute(post);
// do something with res
} catch (Throwable e) {
// do something with error
}
答案 0 :(得分:6)
如果您希望响应能够参与资源试用。虽然你已经抓住了例外,但你可以结束} - 不需要额外的捕获。
从技术上讲这不是一项要求,因为CloseableHttpResponse is empty中close ()
的实施
喔。 不要抓住Throwable - 这是糟糕的风格,可能导致很难找到错误。