Bonjour,
J'ai des problèmes de maintien de connexion internet qui perturbent un de mes programmes Python.
Ma connexion internet n'est pas bonne, les erreurs qui se produisent sur les instructions urllib.urlopen(url) sont diverses et je n'ai encore pas réussi à comprendre leurs raisons.
Un coup de fil extérieur fait parfois sauter la connexion, parfois non;
parfois c'est quand on décroche, d'autres fois quand on raccroche le téléphone.
Certaines déconnexions sont dues à des perturbations sur une prise électrique proche de celle du modem.
D'autres fois encore, j'ai le message d'erreur suivant:
Traceback (most recent call last):
File "E:\Python\trf.py", line 1399, in <module>
prefh = sock.read()
File "C:\Python25\lib\socket.py", line 291, in read
data = self._sock.recv(recv_size)
error: (10054, 'Connection reset by peer')
En résumé, je n'y comprends rien et dans un premier temps je voudrais ne pas chercher à comprendre.
Je voudrais donc remplacer les lignes
sock = urllib.urlopen(url)
par une prise en charge d'erreur du genre:
1 2 3 4 5 6 7 8
| oksock = 'attente'
while oksock!='yes'
try:
sock = urllib.urlopen(url)
...instructions....
oksock = 'yes'
except Typed'Erreur:
oksock ='no' |
Mon problème est que je ne sais pas quel Typed'Erreur je dois mettre après le except pour que ça couvre l'ensemble des cas possibles.
Je ne sais pas non plus s'il est possible / recommandé / déconseillé de mettre simplement:
1 2 3 4 5 6
| try:
sock = urllib.urlopen(url)
...instructions....
oksock = 'yes'
except:
oksock ='no' |
- Est-il possible de connaître les types d'expressions associées à une fonction donnée ?
- Quels sont vos avis sur le Typed'Erreur (ou absence) que je peux mettre ?
Merci
Partager