Vai al contenuto principale
🔒 Modalità anteprima. Le prime quindici lezioni di Foundations sono gratuite; questa è Pro. Avvia un trial di 7 giorni per sbloccare l'editor, i suggerimenti AI e il resto del programma. Carta richiesta, disdici in qualsiasi momento dalla Dashboard.Avvia trial di 7 giorni →
← CorsiSenior Deep-DivesModule 9 · Error handling depthMis-ordered except clauses — when subclass handlers become dead codepredict135 / 161
+150 XP
Compito
📝 **Compito:** Prevedere l'esatto output di 4 righe. La catena ha "tranne Eccezione:" IN ALTO. Traccia ogni input attraverso la catena e identifica quale clausola effettivamente si attiva. 📋 Implementa la funzione sopra. I test vengono eseguiti automaticamente. 💡 **Suggerimento:** Rileggi la teoria se rimani bloccato.
Predici output

Leggi il codice attentamente

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

Cosa stamperà il programma? Scrivi qui:

💬 Discussione

Sii il primo a fare una domanda o condividere un consiglio.
Accedi per partecipare alla discussione. La lettura è gratuita.
Caricamento discussione…