finally og garantert opprydding
Kjør kode uansett om det oppstår et unntak.
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. 🔒
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
- throw, try og catch
- on-klausuler og unntakstyper
- finally og garantert opprydding
- Egendefinerte unntak og rethrow