Python type-hinting mit Ausnahmen

Ich habe eine Funktion, die wie folgt aussieht:

def check_for_errors(result):
    if 'success' in result:
        return True

    if 'error' in result:
        raise TypeError

    return False

In die erfolgreiche Ausführung dieser Funktion, ich sollte eine bool, aber wenn es ist ein Fehler, ich sollte bekommen eine TypeError– das ist OK, weil ich es in einer anderen Funktion.

Meiner Funktion erste Zeile sieht wie folgt aus:

def check_for_errors(result: str) -> bool:

Meine Frage ist: Sollte ich erwähnen, den Fehler in meinem Typbestimmung?

InformationsquelleAutor Yuval Pruss | 2017-05-31



2 Replies
  1. 32

    Typbestimmung kann nicht sagen nichts über Ausnahmen. Sie sind völlig außerhalb des Bereichs für die Funktion. Sie können immer noch dokumentieren die Ausnahme in der docstring jedoch.

    Vom PEP 484 — Typ-Hinweise:

    Ausnahmen

    Keine syntax für die Auflistung explizit ausgelösten exceptions vorgeschlagen. Derzeit den einzigen bekannten Anwendungsfall für diese Funktion ist documentational, in welchem Fall die Empfehlung ist, diese Informationen in einem docstring.

  2. 3

    Ist es normalerweise eine gute Idee, dokumentieren die Fehler. Dies bedeutet, dass andere Entwickler mit Ihrer Funktion in der Lage sein, um Ihre Fehler, ohne zu Lesen, durch Ihren code.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.