JavaScript Academy · Lektion

try/catch/finally, throw och anpassade fel

Använd try/catch/finally, kasta enkla fel och definiera ett litet anpassat Error för tydligare meddelanden.

Lektion 1 av 28 steg

try/catch/finally, throw och anpassade fel är en gratis lektion i JavaScript Academy på CoddyKit. Detta är lektion 1 av 2. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för JavaScript Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i JavaScript Academy innehåller totalt 2 lektioner.

Introduktion till felhantering

Mål: Fånga fel på ett säkert sätt och hålla program stabila.

  • Grunderna i try/catch
  • throw med ett tydligt meddelande
  • finally för städning
  • En enkel anpassad Error
try/catch/finally, throw och anpassade fel — illustration 1

Grunderna i try/catch

Omslut riskfyllda operationer med try. Visa ett kort och hjälpsamt meddelande i catch.

// try/catch around risky code
try {
  const data = JSON.parse("{\"name\":\"Ayla\"}");
  console.log("Parsed:", data.name);
} catch (e) {
  // e.message is short and useful on mobile
  console.log("Failed to parse:", e.message);
}
try/catch/finally, throw och anpassade fel — illustration 2

Grunderna i throw

Använd throw new Error("message") för att avbryta och förklara vad som gick fel.

// Throw when inputs are invalid
function doubleNumber(n) {
  if (typeof n !== "number") {
    throw new Error("Number required");
  }
  return n * 2;
}

try {
  console.log(doubleNumber(4));
  console.log(doubleNumber("4")); // will throw
} catch (e) {
  console.log("Error:", e.message);
}
try/catch/finally, throw och anpassade fel — illustration 3

finally för städning

finally körs oavsett om try lyckades eller misslyckades – användbart när resurser ska stängas.

// finally runs after try/catch — great for cleanup
let opened = false;

try {
  opened = true;
  console.log("Opened:", opened);
  // Force an error to see finally still run
  JSON.parse("{ bad }");
} catch (e) {
  console.log("Caught:", e.message);
} finally {
  opened = false;
  console.log("Closed:", opened);
}
try/catch/finally, throw och anpassade fel — illustration 4

Anpassat Error (översikt)

Skapa ett enkelt InputError för problem med indata. Använd instanceof för att hantera det specifikt.

// Make a small custom error
class InputError extends Error {
  constructor(message) {
    super(message);
    this.name = "InputError";
  }
}

function positive(n) {
  if (typeof n !== "number") {
    throw new InputError("Number required");
  }
  if (n <= 0) {
    throw new InputError("Must be positive");
  }
  return n;
}

try {
  console.log("OK:", positive(3));
  console.log("Fail:", positive(0));
} catch (e) {
  if (e instanceof InputError) {
    console.log("Input problem:", e.message);
  } else {
    // Unknown error: rethrow or log differently
    console.log("Unexpected:", e.message);
  }
}
try/catch/finally, throw och anpassade fel — illustration 5

Tips och checklista

Tips:

  • Validera indata tidigt och kasta korta meddelanden.
  • Använd finally för städning (stäng flaggor, timers med mera).
  • Ignorera inte fel: logga kort eller kasta dem vidare.
try/catch/finally, throw och anpassade fel — illustration 6

Quiz om finally

Snabb kontroll: Hur finally fungerar.

try/catch/finally, throw och anpassade fel — illustration 7

Sammanfattning

Sammanfattning: Omslut riskfylld kod med try/catch, kasta korta och hjälpsamma fel, använd finally för städning och definiera enkla anpassade fel för tydligare hantering.

try/catch/finally, throw och anpassade fel — illustration 8
Gratis att börja

Lär dig JavaScript 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
59
Lektioner
200

Vanliga frågor

Är lektionen ”try/catch/finally, throw och anpassade fel” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen JavaScript Academy, inklusive ”try/catch/finally, throw och anpassade fel”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i JavaScript Academy innehåller totalt 2 lektioner.

Vad lär jag mig i ”try/catch/finally, throw och anpassade fel”?

Använd try/catch/finally, kasta enkla fel och definiera ett litet anpassat Error för tydligare meddelanden. Ni övar på JavaScript 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 JavaScript Academy?

Du behöver inga förkunskaper. Utbildningen i JavaScript 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 1 av 2.

Hur lång tid tar lektionen ”try/catch/finally, throw och anpassade fel”?

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 JavaScript Academy-lektionen?

Ja. Varje JavaScript 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

  1. try/catch/finally, throw och anpassade fel
  2. Defensiv programmering och indatakontroller
← Tillbaka till JavaScript Academy