Erreur impossible à gérer
david11001
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
david11001 Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
david11001 Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
Bonjour !
J'utilise une fonction qui permet de récupérer le code source d'un site.
Pour 99% des sites, elle fonctionne, mais parfois j'obtiens cette erreur :
1 mars 2013 17:34:10 org.apache.http.impl.client.DefaultRequestDirector tryExecute
INFO: I/O exception (java.net.SocketException) caught when processing request: Connection reset
1 mars 2013 17:34:10 org.apache.http.impl.client.DefaultRequestDirector tryExecute
INFO: Retrying request
Je ne cherche pas à corriger l'erreur, puisqu'elle est sûrement causée par les sites dont j'essaye de récupérer le code source.
Je cherche plutôt à afficher un petit message du type "Le site est indisponible" à la place du gros message d'erreur rouge.
Ce que je ne comprends pas c'est que j'ai l'impression de gérer toutes les exceptions qui peuvent arriver, donc comment cela se fait-il que cette erreur survienne ?
Voici le code de la fonction qui permet de récupérer le code source d'une page :
Merci d'avance pour votre aide !
Bonne journée ! :)
J'utilise une fonction qui permet de récupérer le code source d'un site.
Pour 99% des sites, elle fonctionne, mais parfois j'obtiens cette erreur :
1 mars 2013 17:34:10 org.apache.http.impl.client.DefaultRequestDirector tryExecute
INFO: I/O exception (java.net.SocketException) caught when processing request: Connection reset
1 mars 2013 17:34:10 org.apache.http.impl.client.DefaultRequestDirector tryExecute
INFO: Retrying request
Je ne cherche pas à corriger l'erreur, puisqu'elle est sûrement causée par les sites dont j'essaye de récupérer le code source.
Je cherche plutôt à afficher un petit message du type "Le site est indisponible" à la place du gros message d'erreur rouge.
Ce que je ne comprends pas c'est que j'ai l'impression de gérer toutes les exceptions qui peuvent arriver, donc comment cela se fait-il que cette erreur survienne ?
Voici le code de la fonction qui permet de récupérer le code source d'une page :
public static String getsource(String url) { HttpClient httpclient = new DefaultHttpClient(); httpclient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 10000); httpclient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 10000); httpclient.getParams().setParameter(ClientPNames.COOKIE_POLICY, "ignoreCookies"); HttpGet httpget = new HttpGet(url); StringBuilder source = new StringBuilder(); String resa = null; try { HttpResponse response = httpclient.execute(httpget); BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); long ms = System.currentTimeMillis(); boolean timeout_over = false; String line; while ((line = reader.readLine()) != null && !timeout_over) { source.append(line+"\r\n"); if(System.currentTimeMillis()-ms>10000) { timeout_over = true; } } if(timeout_over) { resa = "Erreur"; System.out.println("Timeout Over"); httpget.abort(); } else { resa = source.toString().trim(); } } catch(IOException ioe) { resa = "Erreur"; System.out.println("IO exception"); } catch(Exception e) { resa = "Erreur"; System.out.println("Exception"); } return resa; }
Merci d'avance pour votre aide !
Bonne journée ! :)
A voir également:
- Erreur impossible à gérer
- Gerer stockage google - Guide
- Comment gérer les applications qui se lancent au démarrage - Guide
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
3 réponses
bonjour,
bon je ne suis pas confirmé en java, mais je sais bien que lorsqu'on veule modifier les message d'erreur, il faut utiliser "throws", par exemple:
try
{
code résussie;
}catch(Exception e)
{
throw new Exception("Le site n'est pas disponible");
}
System.out.print(e.getMessage());
bon je ne suis pas confirmé en java, mais je sais bien que lorsqu'on veule modifier les message d'erreur, il faut utiliser "throws", par exemple:
try
{
code résussie;
}catch(Exception e)
{
throw new Exception("Le site n'est pas disponible");
}
System.out.print(e.getMessage());