Wyjątek blokuje aplikacje

0

Witam

Łączę się z pewną stroną www w celu pobieranie z niej danych.
Jednak czasem jest ona niedostępna i program wyrzuca wyjątek.
Gdy wyjątek nastąpi to niestety blokuję całą aplikację, a ja bym chciał ,że w czasie wystąpienia tego wyjątku
proces ten został pominięty i program dalej mógł wykonywać inne operacje.

java.io.IOException: Server returned HTTP response code: 502 for URL
private static BufferedReader getBuffer(String adres) throws IOException {
        BufferedReader br = null;
        try {
            adres = adres.trim();
            HttpURLConnection connection = (HttpURLConnection) new URL(adres).openConnection();
            InputStream is = connection.getInputStream();
            br = new BufferedReader(new InputStreamReader(is));

        } catch (Exception e) {
            e.printStackTrace();
        }
        return br;
    }

 
0

Wydaje mi się, że bardziej kwestią, czy metoda wykonała zadanie, powinien zajmować się kod ją wywołujący.
Ta metoda ma konkretne zadanie i o niemożliwości jego wykonania może co najwyżej poinformować, a do kodu wywołującego powinno należeć podjęcie decyzji, co z tym zrobić.

Ja bym jedynie zrezygnował z bloku try-catch i wyrzucał wyjątki MalformedURLException i IOException. Zdefiniowałeś, że metoda może rzucać wyjątek, więc myślę, że niepotrzebnie go przechwytujesz i uciszasz. Dzięki rzucaniu go wyżej będziesz mógł odpowiednio zareagować na wyjątek, zamiast sprawdzać czy zwrócony obiekt, to null.

1 użytkowników online, w tym zalogowanych: 0, gości: 1