Spring til indhold
Academi.dk

Fejlbeskeder

Uncaught SyntaxError

Begynder DA↔EN-ordliste

En SyntaxError betyder, at browseren ikke kan læse din kode overhovedet, der er en parentes, et anførselstegn eller en krøllet parentes for meget eller for lidt. Hele filen bliver ikke kørt, så det ser ud, som om intet virker.

Ingenting virker, og det er faktisk godt nyt

En SyntaxError opdages, før en eneste linje kører. Browseren kan ikke læse filen, så den springer den over. Derfor virker intet, heller ikke det, der stod øverst og var helt fint.

Det er godt nyt, fordi fejlen er rent mekanisk. Der mangler eller er for meget af et tegn, og når du har fundet det, virker alt igen.

Varianterne og hvad de betyder

Unexpected end of input: der mangler en afsluttende } eller ). Du er løbet tør for fil, mens noget stadig var åbent. Kig efter en if, funktion eller løkke, der aldrig blev lukket.

Unexpected token '}': der er en krølleparentes for meget, eller også lukkede du i den forkerte rækkefølge.

Unexpected identifier: der mangler som regel et komma eller et semikolon, eller også står der to ting ved siden af hinanden, som ikke må.

Invalid or unexpected token: ofte et anførselstegn, der ikke er lukket, eller en apostrof midt i en tekst med enkelte anførselstegn: 'det's'.

Unexpected token in JSON at position 0: en anden sag: det, du prøver at fortolke, er ikke JSON. Se JSON.

Identifier 'x' has already been declared: du har skrevet let x to gange i samme blok. Fjern let på den anden.

Sådan finder du den

  1. Kig på linjenummeret, og på linjen ovenfor. Fejlen opdages tit et par linjer efter, hvor den blev begået.
  2. Lad editoren hjælpe. Sæt markøren ved en krølleparentes; de fleste editorer fremhæver den, der hører sammen med den. Fremhæves den forkerte, ved du hvor problemet er.
  3. Ret indrykningen. Indryk hele filen ordentligt (de fleste editorer kan gøre det for dig med en tastekombination). En blok, der pludselig springer ind eller ud, peger lige på den manglende parentes.
  4. Halvér. Kommentér den nederste halvdel af filen ud. Forsvinder fejlen, er den dernede.

Undgå dem fremover

  • Skriv parenteser i par. Skriv {} og gå så ind imellem dem. De fleste editorer gør det automatisk; lad være med at slette den halve.
  • Indryk mens du skriver, ikke bagefter. Fejlen bliver synlig med det samme.
  • Kør koden ofte. Fem linjer, kør, fem linjer mere. Så ved du altid, hvor fejlen kom fra. Den er i de sidste fem linjer.
  • Brug en editor med farvelægning. En uafsluttet tekststreng er let at se, når resten af filen skifter farve.

Det sidste punkt er værd at nævne før den skriftlige eksamen: skal du skrive kode i et miljø, du ikke selv har sat op, mister du måske den hjælp. Øv dig et par gange uden.

Kort opsamling

  • Filen kører slet ikke, så alt ser ødelagt ud.
  • Kig på linjen i beskeden og på linjen ovenfor.
  • Det er næsten altid en parentes, en krøllet parentes eller et anførselstegn.
  • Kør koden ofte, så fejlen altid er i det, du lige skrev.

Læs videre

Senest gennemgået .