Dart Academy · leksjon

finally og garantert opprydding

Kjør kode uansett om det oppstår et unntak.

Leksjon 3 av 413 trinn

finally og garantert opprydding er en gratis leksjon i Dart Academy på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Dart Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Dart Academy inneholder totalt 4 leksjoner.

Opprydding må alltid utføres

Åpne filer og forbindelser må lukkes selv om koden mislykkes. Dart gir deg finally for opprydding som alltid utføres. 🧹

finally-blokken

En finally-blokk kjører etter try og catch, uansett hva som skjer. Enten kjøringen lykkes eller mislykkes, blir koden alltid utført.

try {
  work();
} finally {
  cleanup();
}

Kjører etter vellykket utførelse

Hvis try-blokken fullføres uten feil, kjører Dart fortsatt finally rett etterpå før programmet går videre.

Kjører etter en catch

Når en exception fanges opp, kjører catch-blokken, og deretter kjører også finally. Begge kjøres i denne rekkefølgen.

try {
  fail();
} catch (e) {
  log(e);
} finally {
  close();
}

Kjører selv uten en catch

Bruk try med bare finally, uten catch. Exceptionen sendes fortsatt videre, men oppryddingen kjører først på vei ut.

try {
  risky();
} finally {
  release();
}

Hvorfor ikke bare gjenta det?

Uten finally måtte du kopiere oppryddingen til både den vellykkede banen og feilbanen. Én finally-blokk holder den på ett sted.

Opprydding før rethrow

Selv når en exception fortsetter å boble opp uten å bli fanget, kjører finally først, slik at ressurser aldri lekker.

Lukke en fil på en trygg måte

Et klassisk bruksområde: åpne en ressurs i try, bruk den, og lukk den deretter i finally, uansett om lesingen lyktes eller ikke.

try {
  file.read();
} finally {
  file.close();
}

Unngå return i finally

En return inne i finally overstyrer en tidligere return eller exception. Bruk finally bare til opprydding, ikke til styring av kontrollflyten.

Utførelsesrekkefølge

Husk rekkefølgen: try kjører, deretter catch ved behov, og til slutt finally. Oppryddingen avslutter alltid blokken.

Full try-catch-finally

Dette kombinerer alle tre: beskyttet arbeid, feilhåndtering og garantert opprydding i finally til slutt.

try {
  open();
} catch (e) {
  print(e);
} finally {
  close();
}

Rask sjekk

Når kjører en finally-blokk?

Oppsummering

Nå kan du bruke finally til garantert opprydding som kjører på alle baner: ved suksess, fangede feil eller exceptions som ikke fanges. Ingen lekkasjer. 🔒

Gratis å komme i gang

Lær deg Dart med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «finally og garantert opprydding» gratis?

Ja – hele teksten i «finally og garantert opprydding» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Dart Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Dart Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «finally og garantert opprydding»?

Kjør kode uansett om det oppstår et unntak. Du øver på Dart Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Dart Academy?

Ingen tidligere erfaring er nødvendig. Dart Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «finally og garantert opprydding»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Dart Academy-leksjonen?

Ja. Alle Dart Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. throw, try og catch
  2. on-klausuler og unntakstyper
  3. finally og garantert opprydding
  4. Egendefinerte unntak og rethrow
← Tilbake til Dart Academy