Zum Hauptinhalt springen
🔒 Vorschaumodus. Die ersten fünfzehn Foundations-Lektionen sind kostenlos; diese hier ist Pro. Starte einen 7-Tage-Trial, um den Editor, AI-Hinweise und den Rest des Lehrplans freizuschalten. Karte erforderlich, jederzeit im Dashboard kündbar.7-Tage-Trial starten →
← KurseSenior Deep-DivesModule 9 · Error handling depthMis-ordered except clauses — when subclass handlers become dead codepredict135 / 161
+150 XP
Aufgabe
📝 **Aufgabe:** Vorhersage der genauen 4-Zeilen-Ausgabe. Die Kette hat „außer Ausnahme:“ OBEN. Verfolgen Sie jede Eingabe durch die Kette und ermitteln Sie, welche Klausel tatsächlich ausgelöst wird. 📋 Implementieren Sie die obige Funktion. Tests laufen automatisch ab. 💡 **Hinweis:** Lesen Sie die Theorie noch einmal, wenn Sie nicht weiterkommen.
Sage die Ausgabe vorher

Lies den Code sorgfältig

class AppError(Exception):
    pass


class NotFound(AppError):
    pass


class ValidationError(AppError):
    pass


def categorise(exc: Exception) -> str:
    try:
        raise exc
    except Exception:
        return "generic"
    except AppError:
        return "app"
    except NotFound:
        return "not-found"
    except ValidationError:
        return "validation"


print(categorise(NotFound("user 42")))
print(categorise(ValidationError("schema bad")))
print(categorise(AppError("generic")))
print(categorise(ValueError("not ours")))

Was wird das Programm ausgeben? Schreib hier:

💬 Diskussion

Sei der erste — stelle eine Frage oder teile einen Tipp.
Anmelden um an der Diskussion teilzunehmen. Lesen ist kostenlos.
Diskussion wird geladen…