on-satser och undantagstyper
Fånga specifika fel exakt
on-satser och undantagstyper är en gratis lektion i Dart Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Dart Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Dart Academy innehåller totalt 4 lektioner.
Alla fel är inte likadana
Ett filfel och ett formateringsfel är olika problem. Dart låter Er fånga dem efter typ, så att varje fel får rätt hantering. 🎯
Nyckelordet on
Använd on för att fånga endast en viss undantagstyp. Blocket körs bara när just den typen av fel kastas.
try {
parse();
} on FormatException {
print('Bad format');
}Behåll även objektet
Kombinera on med catch för att filtrera efter typ och samtidigt hämta felobjektet för detaljerna i meddelandet.
on FormatException catch (e) {
print(e.message);
}Ordningen spelar roll
Dart kontrollerar on-satser uppifrån och ned och använder den första matchningen. Placera specifika typer före generella, annars körs de specifika aldrig.
Flera on-satser
Lägg flera on-satser på ett try-block. Varje sats hanterar en annan undantagstyp med sin egen anpassade logik.
try {
work();
} on FormatException {
} on RangeError {
}En generell fångst sist
Ett vanligt catch utan typ fångar allt som återstår. Placera det sist som ett skyddsnät efter de typade satserna.
} on FormatException {
} catch (e) {
print('Other: $e');
}Exception jämfört med Error
Dart delar upp fel i Exception för problem som kan återställas och Error för programmeringsfel som Ni bör rätta till, inte fånga.
Vanliga inbyggda typer
Ni kommer att träffa på FormatException, RangeError, StateError och ArgumentError. Om Ni känner till dem kan Ni fånga fel exakt.
Fånga en supertyp
En sats med on Exception matchar alla undertyper av Exception. Använd en bred typ när flera relaterade fel delar samma hanterare.
try {
go();
} on Exception catch (e) {
log(e);
}Varför typfiltrering hjälper
Typade hanterare håller koden tydlig: Ni reagerar annorlunda på en saknad fil än på felaktig indata, i stället för att låta en enda stor catch gissa.
Sätt ihop delarna
Detta visar flödet från specifikt till generellt: först en typad on-sats och sedan en generell fångst som säkert hanterar allt annat.
try {
run();
} on FormatException catch (e) {
print(e);
} catch (e) {
print('Unknown');
}Snabbkontroll
Hur fångar Ni endast en specifik undantagstyp?
Sammanfattning
Ni kan nu rikta in Er på fel med on, ordna satserna från specifika till generella och lägga till ett generellt skyddsnät. Precisionshantering och ren kod. ✅
Lär dig Dart med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”on-satser och undantagstyper” gratis?
Ja – hela texten till ”on-satser och undantagstyper” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Dart Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Dart Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”on-satser och undantagstyper”?
Fånga specifika fel exakt Ni övar på Dart Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Dart Academy?
Du behöver inga förkunskaper. Utbildningen i Dart Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”on-satser och undantagstyper”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Dart Academy-lektionen?
Ja. Varje Dart Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- throw, try och catch
- on-satser och undantagstyper
- finally och garanterad städning
- Egna undantag och rethrow