Feldomäner (konceptuellt) utan ramverk
Skapa små feldomäner i vanlig JS: try/catch runt riskfylld kod, omslutande hjälpfunktioner, asynkron try/catch, reservvärden och minimal loggning.
Feldomäner (konceptuellt) utan ramverk är en gratis lektion i JavaScript Academy på CoddyKit. Detta är lektion 3 av 3. 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 3 lektioner.
Överblick
Mål: Förhindra att ett fel slår ut hela skärmen.
- Använd try/catch runt riskfyllda delar
- Lägg till en liten hjälpfunktion, runSafe
- Hantera även async med try/catch
- Returnera reservvärden och logga kortfattat

Lokal gräns: parsning
Omslut endast det riskfyllda steget (JSON.parse). Returnera ett enkelt reservobjekt om något går fel.
// Try/catch boundary: parse user JSON with a fallback
function safeParseUser(json) {
try {
const obj = JSON.parse(json);
// minimal validation
if (!obj || typeof obj.name !== "string") {
return { name: "Guest" };
}
return { name: obj.name };
} catch (err) {
// fallback on parse error
return { name: "Guest" };
}
}
console.log("ok:", safeParseUser("{\"name\":\"Ayla\"}"));
console.log("bad:", safeParseUser("{oops}"));

Hjälpfunktionen runSafe
Skapa en liten hjälpfunktion och återanvänd den. Håll loggarna korta och undvik att läcka hemligheter.
// A tiny boundary helper for sync functions
function runSafe(fn, fallback) {
try {
return fn();
} catch (e) {
// log minimal info for beginners
console.log("error:", String(e));
return fallback;
}
}
// Use it
const resultOk = runSafe(function () {
return 2 + 2;
}, 0);
const resultFail = runSafe(function () {
// simulate crash
throw new Error("boom");
}, 0);
console.log("ok:", resultOk, "fail:", resultFail);

Asynkron gräns
För async-arbete ska du använda try/catch runt await och returnera en reservsträng eller ett reservvärde.
// Async boundary: try/catch inside an async function
async function fetchNameFake(id) {
// simulate failure for odd ids
if (id % 2 === 1) {
throw new Error("not found");
}
return "Ayla";
}
async function loadName(id) {
try {
const name = await fetchNameFake(id);
return name;
} catch (e) {
console.log("async error:", String(e));
return "Guest";
}
}
(async function () {
console.log("even:", await loadName(2));
console.log("odd :", await loadName(3));
})();

Isolera risken
Omslut inte hela appen. Isolera det riskfyllda steget så att ett fel inte blockerar allt.
// Boundary only around the risky step, rest continues
function renderCard(userJson) {
// boundary: parse
const user = safeParseUser(userJson);
// rest of rendering can continue with fallback
return "Hello " + user.name;
}
console.log(renderCard("{\"name\":\"Lina\"}"));
console.log(renderCard("{broken}")); // still renders with fallback

Vanor vid gränser
Checklista:
- Placera en liten try/catch runt riskfyllda anrop.
- Returnera ett litet reservvärde.
- Logga kortfattat, utan hemligheter.
- Upprepa mönstret för async-anrop.

Quiz: grunderna i felgränser
Snabb kontroll: En felgräns i vanlig JS.

Sammanfattning
Sammanfattning: Lägg till en lokal try/catch runt riskfylld kod, använd hjälpfunktionen runSafe, hantera async med try/catch och tillhandahåll reservvärden så att skärmen fortsätter fungera.

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 ”Feldomäner (konceptuellt) utan ramverk” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen JavaScript Academy, inklusive ”Feldomäner (konceptuellt) utan ramverk”, 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 3 lektioner.
Vad lär jag mig i ”Feldomäner (konceptuellt) utan ramverk”?
Skapa små feldomäner i vanlig JS: try/catch runt riskfylld kod, omslutande hjälpfunktioner, asynkron try/catch, reservvärden och minimal loggning. 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 3 av 3.
Hur lång tid tar lektionen ”Feldomäner (konceptuellt) utan ramverk”?
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
- Indatavalidering och grunderna i escaping
- Säker objektsammanslagning, frysning och försegling
- Feldomäner (konceptuellt) utan ramverk