Exception dans urllib.request.urlopen
Fermémamiemando Messages postés 33623 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 11 avril 2025 - 5 avril 2023 à 14:47
- Exception dans urllib.request.urlopen
- A java exception has occurred ✓ - Forum Minecraft
- Appliquez à tous les paragraphes du document à télécharger, à l’exception des titres et des sous-titres, la mise en forme suivante : - Guide
- Erreur d'application : une exception côté client s'est produite (consultez la console du navigateur pour plus d'informations). - Forum Google Chrome
- L'exception exception logicielle inconnue 0xe0000008 ✓ - Forum PC fixe
- Appliquez à tous les paragraphes du document à télécharger, à l’exception des titres et des sous-titres, la mise en forme suivante : chaque paragraphe doit être espacé de 0,42 cm ou 12 pt du paragraphe qui suit les textes ne doivent pas être en retrait à droite et à gauche après ces modifications, sur quelle page se trouve le titre « la cheminée » dans le chapitre « informations diverses » ? ✓ - Forum Word
4 réponses
31 mars 2023 à 17:21
bonjour,
Sans ton code, cela n'est pas très clair. Tu veux dire que tu ne parviens pas à intercepter l'erreur avec un try/except?
31 mars 2023 à 17:25
oui j'ai déjà pas mal de except après mon try, mais ce sont des except trouvé à droite à gauche, mais j'aimerai trouvé tous ce qu'il existe (peut etre que c'est dans la librairie, ou dans un site référentiel)
voici mon try et mes except
try: ip = url.urlopen("http://monip.outils-rezo.info/text").read().decode() except HTTPError as error: logging.error('HTTP Error: Data of %s not retrieved because %s\nURL: %s', name, error, url) sys.exit() except URLError as error: if isinstance(error.reason, timeout): print ("Timeout Error: Data not retrieved because %s\nURL: %s" % (error, url)) exit() else: print ("URL Error: Data not retrieved because %s\nURL: %s" % (error, url)) exit() except url.socket.error as e: print ("URLError : Une autre erreur avec le serveur : "+str(e)) exit() except url.HTTPError as e: print ("HTTPError : Le serveur n a pas pu repondre a la demande.") print ('Code erreur : ', e.code) exit() except url.URLError as e: print ("URLError : Nous n\'avons pas reussi a atteindre le serveur .") print ("Code erreur : ", e.reason) exit()
31 mars 2023 à 19:14
Tu peux intercepter toutes les erreurs, même celles que tu ne connais pas. Je pense qu'on n'est jamais certain qu'un développeur ne va pas ajouter une nouvelle erreur sans la documenter.
Modifié le 31 mars 2023 à 18:30
est-ce que toutes les exceptions sont ici ?
https://github.com/python/cpython/blob/3.11/Lib/urllib/error.py
il y aurait que 3 exceptions :URLError, HTTPError et ContentTooShortError
Modifié le 5 avril 2023 à 14:47
Bonjour,
Personnellement j'utiliserais requests.
import requests ret = requests.get("http://monip.outils-rezo.info/text") if ret.status_code == 200: content = ret.content.decode() print(content)
Bonne chance
31 mars 2023 à 17:26
un exemple: