Использование попытки без уловки и окончательного - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь следовать примеру из источника под названием «Baeldung», где они показывают, как выполнить запрос на публикацию Json с помощью HttpURLConnection. Частью примера является следующий фрагмент кода ...

try(BufferedReader br = new BufferedReader(
  new InputStreamReader(con.getInputStream(), "utf-8"))) {
    StringBuilder response = new StringBuilder();
    String responseLine = null;
    while ((responseLine = br.readLine()) != null) {
        response.append(responseLine.trim());
    }
    System.out.println(response.toString());
}

В этом коде используется попытка без улова или окончание. Я не знал, что это возможно. Что здесь происходит? Что произойдет, если возникнет исключение?

1 Ответ

0 голосов
/ 05 августа 2020

BufferedReader всегда будет закрываться автоматически, потому что он реализует AutoCloseable и инициализируется в операторе try. все исключения будут переданы вызывающей функции

check https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html

...