try: x = 10 / 0except ZeroDivisionError: print("Erreur : division par zero")try: valeur = int(input("Entrez un nombre : ")) resultat = 10 / valeurexcept ValueError: print("Ce n'est pas un nombre valide")except ZeroDivisionError: print("Impossible de diviser par zero")except Exception as e: # filet de securite : capture toute autre erreur imprevue print(f"Erreur inattendue : {e}")try: resultat = 10 / 2except ZeroDivisionError: print("Erreur")else: print("Calcul reussi :", resultat) # execute seulement si pas d'erreurfinally: print("Fin du traitement") # toujours executedef check(x): if x < 0: raise ValueError("x doit etre positif ou nul") return xcheck(-5) # leve une ValueError et arrete le programme si non captureeclass TemperatureInvalideError(Exception): """Levee quand une temperature est hors des limites autorisees.""" passdef verifier_temperature(t): if t > 100: raise TemperatureInvalideError(f"{t} depasse le maximum de 100")try: verifier_temperature(150)except TemperatureInvalideError as e: print("Erreur metier :", e)# a eviter : masque n'importe quelle erreur, meme des bugs imprevustry: ...except: pass# preferable : ne capture que l'erreur attenduetry: ...except ValueError: ...