Résolue

Le print du bloc except ne s'affiche pas

# Système d'exploitation # Scraping # IDE

Bonjour à tous,

J'ai voulu reproduire les bonnes pratique du try/except de la vidéo. Je met une mauvaise url pour produire l'erreur. J'ai bien l'erreur qui se lève mais le print du bloc except ne s'affiche pas !?! J'ai l'impression que c'est tout bête mais je n'arrive pas à trouver pourquoi ?
Voilà le code, j'utilise VS Code sous macOs.

import requests
from bs4 import BeautifulSoup

BASRE_URL = "hfergerttps://books.toscrape.com/index.html"

def main():
    try:
        response = requests.get(BASRE_URL)
        response.raise_for_status()
    except requests.exceptions.RequestException as e:
        print(f"Problème avec l'accès au site: {e}")
        raise requests.exceptions.RequestException from e

    soup = BeautifulSoup(response.text, "html.parser")

if __name__ == "__main__":
    main()

l'erreur que j'ai :

File "//Scrapping_cours_docstring/scrapping-02/main.py", line 15, in main
    raise requests.exceptions.RequestException from e
requests.exceptions.RequestException

Thibault houdon

Mentor

Salut Ludo !

Comment est-ce que tu lances ton programmes ? Tu as essayé pour voir de faire un autre print par exemple avant d'appeler ta fonction main() pour voir si tu le vois ou non ? Il est possible que tu ne le voies pas et que le problème ne soit donc pas sur le try / except mais ailleurs.

Salut Thibault,

oui j'avais mis des prints un peu partout 😅
avant le bloc try/except, dans le le bloc try et dans le bloc except.
Quand je crée l'erreur le print que j'avais mis juste avant le print(f"Problème avec l'accès au site: {e}") apparait bien mais pas ce dernier, c'est bizarre non ?

Et je lance le script depuis vs code avec le petit triangle.
Du coup je viens d'essayer depuis un terminal avec la commande python main.py et j'ai exactement le même message d'erreur.
je suis avec la 3.11.4 de python.

Ah autant pour moi, le message s'afficahit bel et bien !
Je n'avais pas regardé le message d'erreur en entier et en fait il apparait tout haut à la première ligne du message d'erreur.

Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.