Vibe-programmering · Lektion

Forstå fejlmeddelelser

Læs fejlene, før De indsætter dem i AI.

Lektion 1 af 413 trin

Forstå fejlmeddelelser er en gratis Vibe-programmering-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Vibe-programmering, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Vibe-programmering-kurset indeholder 4 lektioner i alt.

Fejl er ledetråde, ikke mure

Når du bygger med AI, og noget går i stykker, bliver din skærm fyldt med rød tekst. Det kan virke skræmmende. Men sandheden er: En fejlmeddelelse er en ledetråd, ikke en mur.

Computeren fortæller dig bogstaveligt talt, hvad der gik galt, og hvor det skete. Når du først lærer at læse disse ledetråde, bliver fejlfinding en samtale i stedet for panik. Og når du kombinerer den færdighed med AI, løser du fejl hurtigere end de fleste erfarne udviklere.

I denne lektion lærer du at læse fejl, før du indsætter dem i værktøjer som Cursor, Claude Code eller Copilot.

En fejlmeddelelses opbygning

De fleste fejlmeddelelser har tre dele, du bør lede efter:

  • Typen — hvilken slags problem det er (f.eks. TypeError, ReferenceError)
  • Meddelelsen — en kort beskrivelse i et menneskelignende sprog
  • Placeringen — filnavn og linjenummer

Her er en klassisk JavaScript-fejl. Læs den langsomt fra venstre mod højre.

TypeError: Cannot read properties of undefined (reading 'name')
    at showUser (app.js:14:22)
    at main (app.js:30:3)

Afkod fejlen

Lad os afkode fejlen fra den seneste scene del for del:

  • TypeError → typen af fejl: Vi brugte en værdi på den forkerte måde
  • Cannot read properties of undefined (reading 'name') → Vi forsøgte at hente .name fra noget, der ikke findes
  • at showUser (app.js:14:22) → Det skete i funktionen showUser, filen app.js, linje 14, kolonne 22

Den sidste del er guld værd. Nu ved du præcis, hvor du skal lede: linje 14.

Staksporet

Listen af at ...-linjer kaldes et stakspor. Læs det oppefra og ned: Den øverste linje er der, hvor fejlen faktisk opstod, og hver linje nedenunder viser, hvad der kaldte den.

Begyndere indsætter ofte det hele i AI og ignorerer det. Men et hurtigt blik på den øverste linje fortæller dig, hvilken funktion du skal undersøge først. De linjer, der nævner dine egne filer, er vigtigst — linjer langt nede i biblioteker er som regel ikke din fejl.

at showUser (app.js:14:22)   ← your code, START HERE
at main (app.js:30:3)        ← your code, who called it
at node_modules/.../run.js   ← library, usually ignore

Se en fejl opstå live

Lad os faktisk udløse en. Kør dette kodestykke. Det forsøger at læse .toUpperCase() på en værdi, der er undefined, hvilket udløser den samme type fejl.

Læs den meddelelse, der bliver udskrevet — læg mærke til, hvordan den angiver det præcise problem.

const user = { email: "ada@example.com" };
try {
  console.log(user.name.toUpperCase());
} catch (err) {
  console.log("Error type:", err.name);
  console.log("Message:", err.message);
}

Almindelige fejltyper

Du vil møde den samme håndfuld fejl igen og igen. Hvis du kan genkende dem med det samme, sparer du tid:

  • SyntaxError — en slåfejl, som computeren ikke engang kan læse (manglende parentes, komma)
  • ReferenceError — du brugte et navn, der ikke findes (en variabel med en slåfejl)
  • TypeError — en værdi findes, men du brugte den på den forkerte måde
  • RangeError — et tal eller en længde ligger uden for det tilladte område

Når du kan angive fejltypen, kan du fortælle AI, hvilken kategori af rettelse du har brug for.

Læs, før du indsætter

Her er den vane, der adskiller hurtige udviklere fra frustrerede udviklere: Læs fejlen i 10 sekunder, før du griber ud efter AI.

Stil dig selv tre hurtige spørgsmål:

  • Hvad er fejlens type?
  • Hvilken fil og linje peger den på?
  • Hvad var jeg lige i gang med, da det gik galt?

Selv hvis du stadig giver den videre til AI, gør svarene din prompt langt skarpere — og ofte finder du selv rettelsen, før AI overhovedet svarer.

Fejl peger på symptomet, ikke altid årsagen

Her er en subtil fælde: Linjen i fejlen er der, hvor tingene gik galt, men den egentlige årsag kan ligge tidligere. I vores eksempel læser linje 14 user.name — men den egentlige fejl kan være, at user blev indlæst forkert på linje 8.

Se derfor fejlens placering som dit udgangspunkt, og spor derefter baglæns: Hvor kom denne værdi fra? AI er god til dette, når du peger den hen på det rigtige område.

Fejl i browseren kontra terminalen

Du vil se fejl to primære steder:

  • Browserkonsollen (tryk på F12, klik på Console) — til frontend-webkode. Klik på linket med fil og linje, så springer du direkte til koden.
  • Terminalen — til backend, Node.js og byggeværktøjer. Samme opbygning, men uden et klikbart link.

Værktøjer som Replit, Bolt og Cursor viser ofte disse fejl direkte i koden og tilføjer endda en knap med teksten 'Fix with AI'. Men knappen fungerer bedst, når du allerede forstår meddelelsen.

En hurtig læseøvelse

Læs denne fejl, og prøv at besvare spørgsmålene i hovedet, før du ruller videre: Hvilken type? Hvilken linje? Hvad mangler?

Svar: Det er en ReferenceError — variablen totl findes ikke (en slåfejl i forhold til total) — på linje 7. Rettelsen er en staveændring på ét tegn. Du behøver ikke AI, kun omhyggelig læsning.

ReferenceError: totl is not defined
    at calculateCart (cart.js:7:18)

Gør læsning til en refleks

Kør dette sidste eksempel. Det staver med vilje en variabel forkert. Se, hvordan konsollen angiver det præcise problem — og forestil dig derefter, hvor hurtigt du ville kunne rette det, når du ved, hvordan du skal læse fejlen.

Målet er ikke at kunne huske alle fejl. Det er at opbygge en refleks: Stop, læs typen, læs linjen, og handl derefter.

const total = 42;
try {
  console.log(totl); // typo on purpose
} catch (err) {
  console.log(err.name + ": " + err.message);
}

Hurtigt tjek

Du ser: TypeError: Cannot read properties of undefined (reading 'name') at showUser (app.js:14:22). Hvor skal du kigge FØRST?

Opsummering: Du kan læse fejl nu

Du er gået fra »rød tekst = panik« til »rød tekst = ledetråd«. Du har lært at:

  • Finde fejlens type, meddelelse og placering
  • Læse et stakspor fra top til bund og fokusere på dine egne filer
  • Genkende almindelige typer: Syntax, Reference, Type og Range
  • Betragte fejllinjen som et udgangspunkt og derefter spore baglæns

Det næste er, hvordan du bruger denne forståelse til at indsætte fejl i AI på en effektiv måde, så den løser fejlen i første forsøg.

Gratis at komme i gang

Lær JavaScript med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
25
Lektioner
100

Ofte stillede spørgsmål

Er lektionen “Forstå fejlmeddelelser” gratis?

Ja — alle 3 lektioner i læringssporet Vibe-programmering, inklusive “Forstå fejlmeddelelser”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Vibe-programmering-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Forstå fejlmeddelelser”?

Læs fejlene, før De indsætter dem i AI. Du øver dig i Vibe-programmering med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Vibe-programmering?

Der kræves ingen tidligere erfaring. Vibe-programmering på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Forstå fejlmeddelelser”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Vibe-programmering-lektion?

Ja. Alle Vibe-programmering-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Forstå fejlmeddelelser
  2. Indsæt fejl i AI på en effektiv måde
  3. Find frem til en fejl
  4. Når AI går i stå
← Tilbage til Vibe-programmering