2008-09-29 7 views
8

Est-il possible en Python de déterminer quelles exceptions une fonction (intégrée) peut générer? Par exemple, la documentation (http://docs.python.org/lib/built-in-funcs.html) pour int intégré (s) ne dit rien sur le fait qu'il pourrait déclencher une ValueError si s n'est pas un int valablement formaté.Quelles sont les exceptions qu'une fonction Python peut déclencher?


C'est un double de Does re.compile() or any given Python library call throw an exception?

+2

Hey, quelqu'un rouvre ça. Ce n'est pas un doublon. – epochwolf

Répondre

0

Je ne connais aucune source définitive, à l'exception de la source.

7

La seule façon de savoir quelles exceptions peuvent être soulevées est de consulter la documentation. Le fait que la documentation d'int() ne dise pas qu'elle peut augmenter ValueError est un bug dans la documentation, mais facilement expliqué par ValueError étant exactement dans ce but, et c'est quelque chose "tout le monde le sait". Cependant, pour approfondir ce point, la documentation est le seul moyen de savoir quelles exceptions vous devriez prendre en compte; en fait, n'importe quelle fonction peut potentiellement déclencher une exception, même si c'est juste parce que les signaux peuvent arriver et que les gestionnaires de signaux peuvent lever des exceptions. Vous ne devriez pas anticiper ou gérer ces erreurs, cependant; vous devriez juste gérer les erreurs que vous attendez.

Questions connexes