Manejo de errores de conexión y JSoup.

Estoy intentando crear una aplicación para eliminar contenido de varias páginas en un sitio. Estoy usando JSoup para conectar. Este es mi código:

<code>for (String locale : langList){
        sitemapPath = sitemapDomain+"/"+locale+"/"+sitemapName;
        try {
            Document doc = Jsoup.connect(sitemapPath)
                    .userAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.21 (KHTML, like Gecko) Chrome/19.0.1042.0 Safari/535.21")
                    .timeout(10000)
                    .get();

            Elements element = doc.select("loc");   
            for (Element urls : element) {
                System.out.println(urls.text());
                }
        } catch (IOException e) {
            System.out.println(e);
        }
    }
</code>

Todo funciona perfectamente la mayor parte del tiempo. Sin embargo, hay algunas cosas que quiero poder hacer.

Primero, a veces, un estado 404 volverá o un estado 500 tal vez un 301. Con mi código debajo, solo imprimirá el error y se moverá a la siguiente URL. Lo que me gustaría poder hacer es intentar devolver el estado de url para todos los enlaces. Si la página se conecta, imprima un 200, si no imprime el código de estado correspondiente.

En segundo lugar, a veces detecto este error "java.net.SocketTimeoutException: se agotó el tiempo de espera" Podría aumentar mi tiempo de espera, sin embargo, preferiría intentar conectarme 3 veces. Si falla la tercera vez, quiero agregar la URL a una matriz "fallida". para que pueda volver a intentar las conexiones fallidas en el futuro.

¿Puede alguien con más conocimiento que yo ayudarme?

Respuestas a la pregunta(2)

Su respuesta a la pregunta