Fel i JavaScript - Typer och hanteringsfel i JavaScript

Innehållsförteckning:

Anonim

Introduktion till fel i JavaScript

Låt oss börja diskutera vad "fel" betyder på ett programmeringsspråk, särskilt i JavaScript. Ett fel kan definieras som ett misstag, eller ett felaktigt uttalande eller felaktig tolkning eller ett fel, men denna definition är inte exakt korrekt när man utvecklar ett program. Vid programmering är ett fel ett avsnitt eller en del av koden som bryter programmets normala flöde. På alla programmeringsspråk finns det vanligtvis tre typer av fel som man kan möta,

  1. Kompilera tidsfel
  2. Logiska fel
  3. Körningsfel.

Vi är ofta rädda när vi möter någon form av fel men fel är bra eftersom vi lär oss hur vi inte gör något och hur vi gör det bättre nästa gång.

I JavaScript, om skriptet kastar ett fel, stoppar JavaScript-tolkaren exekveringen av programmet som omedelbart och visar det felet i webbläsarkonsolen tillsammans med felet och radnumret där det inträffade i filen. Det enda sättet vi kan felsöka vår JavaScript är genom att använda fel och varningar så bra vi kan och hitta orsaken bakom det.

Typer av fel i JavaScript

Ett fel kan eller inte kan vara dödligt för vår applikation beroende på vilken typ av fel vi står inför. Det finns sex typer av fel som vanligtvis uppstår i JavaScript -

  • Utvärderingsfel
  • Områdesfel
  • Referensfel
  • Syntaxfel
  • Skrivfel
  • URI-fel

Låt oss diskutera var och en av dessa fel i detalj.

Felnamn

Beskrivning

EvalErrorEtt fel har inträffat i eval () -funktionen
RangeerrorEtt nummer "utanför räckvidden" har inträffat
ReferenceEn olaglig referens har inträffat
SyntaxfelEtt syntaxfel har inträffat
SkrivfelEtt typfel har inträffat
URIErrorEtt fel i kodURI () har inträffat

1. EvalError: Indikerar ett fel i den globala eval () -funktionen, dvs. eval () -funktionen används på ett felaktigt sätt. Nyare versioner av JavaScript kastar inte detta fel längre, istället är det tillåtet syntaxfel.

2. RangeError: Detta fel kastas när en parameter eller ett värde (numeriskt) är utanför eller överskrider det tillåtna intervallet.

3. ReferenceError: Det här felet kastas när vi refererar till en variabel som inte finns (en ogiltig referens används) dvs den variabeln har inte deklarerats. Det är ett av de vanligaste och ofta förekommande felen.

4. SyntaxError: Detta fel indikerar att skriptets syntax är ogiltig, dvs ett syntaktiskt felaktigt uttalande finns i koden. När det gäller syntaxfel kommer ett tolkat språk som JavaScript inte att kasta dem förrän skriptet laddas i och läses av webbläsaren.

5. TypeError: Detta fel kastas när ett värde inte är av rätt typ som förväntat eller en ogiltig datatyp används för att deklarera eller definiera en variabel. Exempel: utför en numerisk beräkning på strängvariabel eller objekt.

6. URIError: Detta fel indikerade användning av olagliga tecken som är ogiltiga i URI-relaterade metoder / funktioner (kodURURI () eller avkodningURI ()).

Hantera fel i JavaScript

När ett fel inträffar vet vi att skriptet slutar köra, såvida vi inte hanterar dessa fel i själva skriptet för att inte störa det normala programflödet. De olika sätten vi kan implementera för att hantera dessa fel är:

try …. catch block
try (
// errorneous statement
) catch (err) (
console.error (err)
// stmts
)

Till sist

I vissa situationer finns det vissa avsnitt i skriptet som måste köras oavsett om ett fel inträffar eller inte, och den delen av avsnittet måste skrivas i ett slutligt block.

try (
// errorneous statement
) catch (err) (
console.error (err)
// stmts
) finally(
//mandatory statements to run
)

Löften

Löften används för att hantera asynkrona operationer som kan resultera i ett fel. De kan hantera flera asynkrona operationer och ge bättre lösningar för felhantering jämfört med återuppringningar och händelser.

var promise = new Promise(
function(resolve, reject)(
//do something
)
);

Exempel:

function captureErrorTypes() (
try (
var sum = x + y;
alert(sum);
) catch(error) (
switch (error.name) (
case 'SyntaxError':
alert("caught a " + error.name + ": " + error.message);
//handle error…
break;
case 'RangeError':
alert("caught a " + error.name + ": " + error.message);
//handle error…
break;
case 'ReferenceError':
alert("caught a " + error.name + ": " + error.message);
//handle error…
break;
default:
alert("caught a " + error.name + ": " + error.message);
//handle all other error types here…
break;
)
)
)

Rekommenderade artiklar

Detta är en guide till fel i JavaScript. Här diskuterar vi javascript-fel och vad det innebär i alla programmeringsspråk tillsammans med den typ som vanligtvis förekommer i javascript. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. Arbeta med inkapsling i JavaScript
  2. JavaScript-kompilatorer
  3. Hur fungerar medan loopar i Javascript?
  4. Varför är JavaScript-känsligt men HTML är det inte?
  5. Kast vs kastar | Topp 5 skillnader du borde veta
  6. Topp 10 versioner av Java med funktioner