0Pricing
Dart Academy · Lezione

throw, try e catch

Rilevare e gestire gli errori.

throw, try e catch è una lezione Dart Academy gratuita su CoddyKit. Questa è la lezione 1 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.

Quando qualcosa va storto

I programmi incontrano problemi: input non valido, file mancanti, calcoli errati. Dart segnala questi problemi con un'eccezione, invece di comportarsi in modo errato senza avvisare. 🚨

Generare un'eccezione

Potete sollevare personalmente un problema con throw. Questo interrompe il normale flusso nel punto in cui si verifica e trasferisce il controllo a un gestore.

throw Exception('Something failed');

Potete generare qualsiasi oggetto

Dart consente di usare throw con quasi qualsiasi oggetto, persino una String. In pratica, generate oggetti Exception o Error reali, così i gestori rimangono chiari.

throw FormatException('Bad number');

Proteggere il codice rischioso

Racchiudete il codice che potrebbe fallire in un blocco try. Dart lo esegue normalmente, ma è pronto a reagire se qualcosa genera un'eccezione.

try {
  risky();
}

Intercettare il problema

Un blocco catch viene eseguito solo quando il blocco try genera un'eccezione. Riceve l'oggetto generato, consentendovi di esaminarlo e reagire.

try {
  risky();
} catch (e) {
  print('Caught: $e');
}

Il flusso salta oltre

Quando viene eseguito un throw, il resto del blocco try viene saltato immediatamente. Dart passa direttamente al blocco catch corrispondente.

Leggere l'oggetto errore

La variabile in catch (e) contiene ciò che è stato generato. Stamparla mostra generalmente un messaggio utile che descrive il problema.

catch (e) {
  print(e);
}

Recuperare lo stack trace

Aggiungete una seconda variabile a catch per ottenere lo stack trace. Mostra il percorso delle chiamate che ha portato al problema, semplificando il debug.

catch (e, stack) {
  print(stack);
}

Recuperare, non arrestare

Lo scopo principale dell'intercettazione è il recupero. Invece di arrestarsi, il programma può registrare l'errore, riprovare o mostrare all'utente un'alternativa amichevole.

Se non viene intercettata, l'eccezione arresta il programma

Se nessun blocco catch intercetta un'eccezione generata, questa risale la catena e il programma si arresta, mostrando un errore nella console.

Un esempio completo

Ecco lo schema completo: un throw all'interno di try, intercettato e gestito correttamente affinché l'esecuzione possa continuare.

try {
  throw Exception('Oops');
} catch (e) {
  print('Handled: $e');
}

Controllo rapido

Quale blocco reagisce effettivamente a un'eccezione generata?

Riepilogo

Ora sapete segnalare i problemi con throw, proteggere il codice rischioso in try e recuperare la situazione in catch. Questa combinazione mantiene in esecuzione il programma. 🎉

Domande Frequenti

La lezione «throw, try e catch» è gratuita?

Sì — il testo completo di «throw, try e catch» è 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 «throw, try e catch»?

Rilevare e gestire gli errori. 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 1 di 4.

Quanto tempo richiede la lezione «throw, try e catch»?

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