Naar hoofdinhoud
🔒 Voorbeeldmodus. De eerste vijftien Foundations-lessen zijn gratis; deze is Pro. Start een 7-daagse trial om de editor, AI-hints en de rest van het curriculum te ontgrendelen. Kaart vereist, op elk moment opzegbaar in Dashboard.Start 7-daagse trial →
← CursussenSenior Deep-DivesModule 9 · Error handling depthExceptionGroup + except* — multiple failures, one raisepredict139 / 161
+150 XP
Opdracht
📝 **Taak:** Voorspel de uitvoer van 6 regels. De validator genereert een ExceptionGroup met 3 bladeren: 2 ValidationErrors en 1 TypeError. Twee `except*`-clausules verdelen de groep op type en drukken af ​​wat ze hebben opgevangen. 📋 Implementeer bovenstaande functie. Tests worden automatisch uitgevoerd. 💡 **Hint:** Herlees de theorie als je vastloopt.
Voorspel uitvoer

Lees de code zorgvuldig

class ValidationError(Exception):
    pass


errors: list[Exception] = [
    ValidationError("email is invalid"),
    ValidationError("password too short"),
    TypeError("age must be int"),
]


try:
    raise ExceptionGroup("validation failed", errors)
except* ValidationError as eg:
    print(f"caught {len(eg.exceptions)} validation errors")
    for e in eg.exceptions:
        print(f"  - {e}")
except* TypeError as eg:
    print(f"caught {len(eg.exceptions)} type errors")
    for e in eg.exceptions:
        print(f"  - {e}")

Wat zal het programma uitprinten? Schrijf hier:

💬 Discussie

Wees de eerste — stel een vraag of deel een tip.
Log in om mee te doen aan de discussie. Lezen is gratis.
Discussie laden…