Pewnie myślicie, że zadam pytanie w stylu: "Do czego służy metoda, którą nazwę wymieniłem w temacie?" Pudło. W zasadzie mam do Was dwa pytania. Ale do rzeczy.
Umiem posługiwać się klasą HttpURLConnection, lecz chciałem napisać własną od podstaw, wykorzystującą Sockety. OK, prawie wszystko już zrobiłem, tylko nie potrafię napisać własnej metody getErrorStream... :-/
Pomyślałem sobie wtedy, że zobaczę jak z takim problemem radzi sobie HttpURLConnection i jej metoda getErrorStream(). Sprawdzam i...
Ciało metody getErrorStream z klasy HttpURLConnection:

    public InputStream getErrorStream() {
	return null;
    }

Nie zdziwiłbym się, gdyby ta metoda była abstrakcyjna, gdyby jakaś inna metoda musiała ją przesłonić, ale przecież w moim kodzie wywołuję dokładnie TĄ POWYŻSZĄ metodę:

URL url = ... // jakiś URL
HttpURLConnection con = (HttpURLConnection)url.openConnection();
InputStream err = con.getErrorStream();

Normalnie program działa dobrze gdy wywołuję getErrorStream z HttpURLConnection, ale przecież nie jest wykonywana akurat ta metoda (bo za każdym razem musiałbym dostawać nulla.) To w takim razie jaka innna metoda zostaje wykonywana? Gdzie znajdę kod odpowiedzialny za faktyczne utworzenia strumienia błędu?

Myślę, że odpowiedź na powyższe pytanie powinno mi pomóc także w napisaniu mojego kodu na odebranie errorStream.

Dzięki za odp.