Всегда ли java.net.HttpUrlConnection генерирует IOException, если сервер возвращает состояние ошибки?

я используюjava.net.HttpUrlConnection сделать запрос Http на мой сервер. Я понял, что если сервер возвращает состояние ошибки (400, например). HttpUrlConnection вызовет IOException, соответствующий состоянию ошибки.

Мой вопрос:Всегда ли HttpUrlConnection генерирует IOException, если сервер возвращает статус ошибки (4xx, 5xx)?

Я смотрю наHttpURLConnection Описание API, но я не смог ответить на мой вопрос.

Обновлено: пожалуйста, смотрите мой тест:

public static void main(String[] args) {
    try {

        String url = "https://www.googleapis.com/oauth2/v3/userinfo?access_token=___fake_token";
        HttpURLConnection conn = (HttpURLConnection)new URL(url).openConnection();

        conn.getResponseCode();
        conn.getInputStream();

    } catch (Exception ex) {
        ex.printStackTrace();
        // Print IOException: java.io.IOException: Server returned HTTP response code: 401 for URL: https://www.googleapis.com/oauth2/v3/userinfo?access_token=abc

        // If I commented conn.getResponseCode() -> The same IOException
    }
}

Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос