Dart Academy · Lezione

Clausole on e tipi di eccezione

Catturare con precisione errori specifici.

Lezione 2 di 413 passaggi

Clausole on e tipi di eccezione è una lezione Dart Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Dart Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Dart Academy include 4 lezioni in totale.

Non tutti gli errori sono uguali

Un errore di file e un errore di formato sono problemi diversi. Dart permette di intercettarli in base al tipo, così ognuno riceve la risposta corretta. 🎯

La parola chiave on

Usate on per intercettare un solo tipo di eccezione. Il blocco viene eseguito esclusivamente quando viene generato quel particolare tipo di errore.

try {
  parse();
} on FormatException {
  print('Bad format');
}

Conservare anche l'oggetto

Combinare on con catch permette di filtrare per tipo e di recuperare comunque l'oggetto errore per leggerne i dettagli del messaggio.

on FormatException catch (e) {
  print(e.message);
}

L'ordine è importante

Dart verifica le clausole on dall'alto verso il basso e usa la prima corrispondenza. Inserite i tipi specifici prima di quelli generali, altrimenti i primi non verranno mai eseguiti.

Più clausole on

Potete disporre più clausole on per un unico try. Ognuna gestisce un diverso tipo di eccezione con una logica specifica.

try {
  work();
} on FormatException {
} on RangeError {
}

Un catch generico alla fine

Un catch semplice, senza tipo, intercetta tutto ciò che rimane. Posizionatelo per ultimo, come rete di sicurezza dopo le clausole tipizzate.

} on FormatException {
} catch (e) {
  print('Other: $e');
}

Exception ed Error

Dart distingue i problemi in Exception, per le situazioni da cui è possibile recuperare, ed Error, per i bug di programmazione da correggere anziché intercettare.

Tipi incorporati comuni

Incontrerete FormatException, RangeError, StateError e ArgumentError. Conoscerli vi permette di intercettare gli errori con precisione.

Intercettare un supertipo

Una clausola on Exception corrisponde a qualsiasi sottotipo di Exception. Usate un tipo ampio quando diversi errori correlati condividono lo stesso gestore.

try {
  go();
} on Exception catch (e) {
  log(e);
}

Perché il filtraggio per tipo è utile

I gestori tipizzati mantengono il codice chiaro: potete reagire in modo diverso a un file mancante e a un input errato, invece di lasciare che un unico grande catch faccia supposizioni.

Mettere tutto insieme

Questo esempio mostra il flusso dal caso specifico a quello generale: prima una clausola on tipizzata, poi un catch generico per gestire in sicurezza tutto il resto.

try {
  run();
} on FormatException catch (e) {
  print(e);
} catch (e) {
  print('Unknown');
}

Controllo rapido

Come si intercetta un solo tipo specifico di eccezione?

Riepilogo

Ora potete indirizzare gli errori con on, ordinare le clausole iniziando dai tipi specifici e aggiungere una rete di sicurezza con un catch generico. Gestione precisa, codice pulito. ✅

Gratis per iniziare

Impara Dart con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Clausole on e tipi di eccezione» è gratuita?

Sì — il testo completo di «Clausole on e tipi di eccezione» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Dart Academy, passa a CoddyKit PRO. Il corso Dart Academy include 4 lezioni in totale.

Cosa imparerò in «Clausole on e tipi di eccezione»?

Catturare con precisione errori specifici. Eserciti Dart Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Dart Academy?

Non è richiesta alcuna esperienza precedente. Dart Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Clausole on e tipi di eccezione»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Dart Academy?

Sì. Ogni lezione Dart Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. throw, try e catch
  2. Clausole on e tipi di eccezione
  3. finally e pulizia garantita
  4. Eccezioni personalizzate e rethrow
← Torna a Dart Academy