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.
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

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);
}

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);
}

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);
}

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);
}
}

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.

Quiz om finally
Snabb kontroll: Hur finally fungerar.

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.

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
- try/catch/finally, throw och anpassade fel
- Defensiv programmering och indatakontroller