Sari la conținutul principal
🔒 Mod previzualizare. Primele cincisprezece lecții Foundations sunt gratuite; aceasta este Pro. Pornește un trial de 7 zile pentru a debloca editorul, sugestiile AI și restul programului. Card necesar, anulează oricând în Dashboard.Pornește trial de 7 zile →
← CursuriSenior Deep-DivesModule 9 · Error handling depthExceptionGroup + except* — multiple failures, one raisepredict139 / 161
+150 XP
Sarcină
📝 **Sarcina:** Preziceți ieșirea cu 6 linii. Validatorul generează un ExceptionGroup care conține 3 frunze: 2 ValidationErrors și 1 TypeError. Două clauze „except*” împart grupul după tip și imprimă ceea ce au prins. 📋 Implementați funcția de mai sus. Testele rulează automat. 💡 **Sugestie:** Recitiți teoria dacă rămâneți blocat.
Prezice ieșirea

Citește codul cu atenție

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}")

Ce va afișa programul? Scrie aici:

💬 Discuție

Fii primul — pune o întrebare sau împărtășește un sfat.
Conectează-te pentru a te alătura discuției. Citirea este gratuită.
Se încarcă discuția…