2008-09-29 12 views
8

Gibt es eine Möglichkeit in Python festzustellen, welche Ausnahmen eine (eingebaute) Funktion auslösen könnte? Zum Beispiel sagt die Dokumentation (http://docs.python.org/lib/built-in-funcs.html) für das eingebaute int (s) nichts über die Tatsache aus, dass es einen ValueError auslösen könnte, wenn s kein gültig formatierter int ist.Welche Ausnahmen könnte eine Python-Funktion auslösen?


Dies ist ein Duplikat Does re.compile() or any given Python library call throw an exception?

+2

Hey, jemand öffnet das wieder. Es ist kein Duplikat. – epochwolf

Antwort

0

ich eine endgültigen Quelle weiß nicht, abgesehen von der Quelle.

7

Die einzige Möglichkeit zu sagen, welche Ausnahmen etwas auslösen kann, ist in der Dokumentation zu sehen. Die Tatsache, dass die int() -Dokumentation nicht sagt, dass es ValueError auslösen könnte, ist ein Fehler in der Dokumentation, aber leicht erklärt, da ValueError genau zu diesem Zweck ist, und das ist etwas, das "jeder weiß".

Um den Punkt zu verstehen, ist Dokumentation jedoch die einzige Möglichkeit zu sagen, welche Ausnahmen Sie beachten sollten; Tatsächlich kann jede Funktion möglicherweise eine Ausnahme auslösen, selbst wenn es nur Signale gibt, die signalisieren, dass Handler Ausnahmen auslösen können. Sie sollten diese Fehler jedoch nicht voraussehen oder behandeln; Sie sollten nur die Fehler behandeln, die Sie erwarten.

Verwandte Themen