Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1272 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Erreur impossible à gérer

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur impossible à gérer

n°2178305
reywas
J'aime pas les citations
Posté le 02-03-2013 à 17:30:41  profilanswer
 

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 :
 

Code :
  1. public static String getsource(String url)
  2. {
  3. HttpClient httpclient = new DefaultHttpClient();
  4. httpclient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 10000);
  5. httpclient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 10000);
  6. httpclient.getParams().setParameter(ClientPNames.COOKIE_POLICY, "ignoreCookies" );
  7. HttpGet httpget = new HttpGet(url);
  8. StringBuilder source = new StringBuilder();
  9. String resa = null;
  10. try
  11. {
  12.  HttpResponse response = httpclient.execute(httpget);
  13.  BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
  14.         long ms = System.currentTimeMillis();
  15.         boolean timeout_over = false;
  16.         String line;
  17.        
  18.         while ((line = reader.readLine()) != null && !timeout_over)
  19.         {
  20.          source.append(line+"\r\n" );
  21.          if(System.currentTimeMillis()-ms>10000)
  22.          { timeout_over = true; }
  23.         }
  24.  if(timeout_over)
  25.  {
  26.   resa = "Erreur";
  27.   System.out.println("Timeout Over" );
  28.   httpget.abort();
  29.  }
  30.  else
  31.  { resa = source.toString().trim(); }
  32.        
  33. }
  34. catch(IOException ioe)
  35. {
  36.  resa = "Erreur";
  37.  System.out.println("IO exception" );
  38. }
  39. catch(Exception e)
  40. {
  41.  resa = "Erreur";
  42.  System.out.println("Exception" );
  43. }
  44. return resa;
  45. }


 
Merci d'avance pour votre aide !
 
Bonne journée ! :)

mood
Publicité
Posté le 02-03-2013 à 17:30:41  profilanswer
 

n°2178504
devicenotr​eady
insert disk and retry
Posté le 04-03-2013 à 11:02:16  profilanswer
 

Tu as toute une série d'instructions en dehors du bloc try...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Erreur impossible à gérer

 

Sujets relatifs
Corriger erreur php: modification de base donnéesErreur sur un script PHP affichant plusieurs
Erreur d'execution '9' : L'indice n'appartient pas à la sélectionexécution script Perl sous mac impossible
Probleme ERREUR PDOerreur sous MVS , et SDL_ttf
erreur de synthaseerreur 403 bizarre
Impossible de récupérer une variable avec $_GET['id']Erreur de bibliothèque lors de l'enregistrement des modifications
Plus de sujets relatifs à : Erreur impossible à gérer


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR