Napake v JavaScriptu - Vrste in napake pri rokovanju v JavaScript

Kazalo:

Anonim

Uvod v napake v JavaScript

Začnimo razpravljati o tem, kaj pomeni "napaka" v programskem jeziku, zlasti v JavaScriptu. Napako lahko opredelimo kot napako ali napačno izjavo ali napačno razlago ali napako, vendar ta definicija ni ravno pravilna pri razvijanju programa. Pri programiranju je napaka odsek ali del kode, ki prekine normalen tok programa. V katerem koli programskem jeziku so ponavadi tri vrste napak, s katerimi se lahko sooči,

  1. Čas napake pri sestavljanju
  2. Logične napake
  3. Napake med izvajanjem.

Velikokrat nas je strah, ko se srečujemo s kakršnimi koli napakami, vendar so napake dobre, ker se naučimo, kako nečesa ne narediti in kako to narediti bolje naslednjič.

Če JavaScript v skriptu sproži napako, bo JavaScript tolmač ustavil izvajanje programa takoj in prikazal to napako v konzoli brskalnika, skupaj z napako in številko vrstice, kjer se je zgodila v datoteki. Edini način, kako lahko odpravimo napako v našem JavaScriptu, je, da uporabimo napake in opozorila, kar lahko, in najdemo razlog za to.

Vrste napak v JavaScript

Napaka je lahko ali ne sme biti usodna za našo aplikacijo, odvisno od vrste napake, s katero se srečujemo. Običajno se v JavaScript zgodi šest vrst napak -

  • Napaka Eval
  • Napaka v območju
  • Napaka sklicevanja
  • Napaka sintakse
  • Napaka tipa
  • Napaka URI

O vsaki od teh napak podrobno razpravljamo.

Ime napake

Opis

EvalErrorPrišlo je do napake v funkciji eval ()
RangeErrorPrišlo je do številke "izven dosega"
ReferenceErrorPrišlo je do nezakonite reference
SyntaxErrorPrišlo je do napake skladnje
TypeErrorPrišlo je do napake tipa
URIErrorPrišlo je do napake v encodeURI ()

1. EvalError: Označi napako v funkciji global eval (), tj. Funkcija eval () se uporablja na napačen način. Novejše različice JavaScript te napake ne mečejo več, namesto tega se sklicuje na napako sintakse.

2. RangeError: Ta napaka se vrže, ko je parameter ali vrednost (številčna) zunaj ali presega dovoljeno območje.

3. ReferenceError: Ta napaka se vrže, ko se sklicujemo na spremenljivko, ki ne obstaja (uporabljena je neveljavna referenca), tj. Da spremenljivka ni bila objavljena. Gre za eno najpogostejših in najpogostejših napak.

4. SyntaxError: Ta napaka pomeni, da je sintaksa skripta neveljavna, tj. Da je v kodi sintaktično napačen stavek. Kar zadeva napake v sintaksi, interpretirani jezik, kot je JavaScript, teh ne bo vrgel, dokler brskalnik ne naloži skripta in ga ne prebere.

5. TypeError: Ta napaka se vrže, kadar vrednost ni ustreznega tipa, kot je bilo pričakovano, ali če se za razglasitev ali določitev spremenljivke uporabi neveljaven podatkovni tip. Primer: izvajanje numeričnega izračuna na spremenljivki String ali predmetu.

6. URIError: Ta napaka je kazala na uporabo nezakonitih znakov, ki niso veljavni za metode / funkcije, povezane z URI (encodeURI () ali decodeURI ()).

Ravnanje z napakami v JavaScript

Ko pride do napake, vemo, da se skript preneha izvajati, razen če te napake obravnavamo v samem skriptu, da ne bi motili običajnega pretoka programa. Različni načini, s katerimi lahko ravnamo s temi napakami, so:

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

Končno

V nekaterih situacijah obstajajo določeni odseki skripta, ki jih je treba izvesti, ne glede na to, ali pride do napake ali ne, in ta del odseka je treba napisati v končnem bloku.

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

Obljube

Obljube se uporabljajo za asinhrono delovanje, ki lahko povzroči napako. Urejajo lahko več asinhronih operacij in zagotavljajo boljše rešitve za obravnavo napak v primerjavi s povratnimi klici in dogodki.

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

Primer:

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

Priporočeni članki

To je vodnik za Napake v JavaScript. Tukaj razpravljamo o napakah javascripta in o tem, kaj to pomeni v katerem koli programskem jeziku, skupaj z vrsto, ki se običajno pojavlja v JavaScript-u. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Delovanje kapsule v JavaScript
  2. Kompilatorji JavaScript
  3. Kako deluje, medtem ko zanka deluje v Javascript?
  4. Zakaj je JavaScript zelo občutljiv, HTML pa ne?
  5. Vrzi proti metanju | Top 5 razlik, ki bi jih morali vedeti
  6. 10 najboljših različic Java s funkcijami