Pogreške u JavaScript-u - Vrste i rukovanje pogreškama u JavaScript-u

Sadržaj:

Anonim

Uvod u pogreške u JavaScript-u

Počnimo raspravljati o tome što "greška" znači u programskom jeziku, posebno u JavaScriptu. Pogreška se može definirati kao greška ili pogrešna izjava ili pogrešno tumačenje ili greška, ali ta definicija nije baš tačna pri razvoju programa. U programiranju je pogreška odjeljak ili dio koda koji prekida normalan tijek programa. U bilo kojem programskom jeziku obično postoje tri vrste pogrešaka s kojima se čovjek može suočiti,

  1. Sastavite vremenske pogreške
  2. Logičke pogreške
  3. Pogreške u radu.

Često se bojimo kada se suočimo s bilo kakvim greškama, ali pogreške su dobre, jer naučimo kako ne učiniti nešto i kako to učiniti bolje sljedeći put.

U JavaScript-u, ako skripta iznese grešku, JavaScript interpreter će zaustaviti izvršenje tog trenutka programa i prikazati tu pogrešku u konzoli preglednika, zajedno s pogreškom i brojem retka gdje se dogodio u datoteci. Jedini način uklanjanja pogrešaka na naš JavaScript jest korištenje pogrešaka i upozorenja najbolje što možemo i pronalaženje razloga za to.

Vrste pogrešaka u JavaScript-u

Pogreška može ili ne mora biti kobna za našu aplikaciju ovisno o vrsti pogreške s kojom se susrećemo. Postoji šest vrsta pogrešaka koje se obično javljaju u JavaScriptu -

  • Evalina pogreška
  • Pogreška raspona
  • Pogreška reference
  • Sintaktička pogreška
  • Vrsta pogreške
  • Pogreška URI-a

Razmotrimo detaljno svaku od tih pogrešaka.

Naziv pogreške

Opis

EvalErrorDošlo je do pogreške u funkciji eval ()
RangeErrorDošlo je do broja izvan dometa
ReferenceErrorDošlo je do ilegalne reference
Sintaktička pogreškaDošlo je do sintaksičke pogreške
TypeErrorDošlo je do pogreške pogreške
URIErrorDošlo je do pogreške u encodeURI ()

1. EvalError: Označava pogrešku u globalnoj funkciji eval (), tj. Funkcija eval () koristi se na pogrešan način. Novije verzije JavaScripta više ne bacaju ovu pogrešku, umjesto toga se oslanja na sintaksu.

2. RangeError: Ova se pogreška baca kada je parametar ili vrijednost (numerička) izvan ili premašuje dopušteni raspon.

3. ReferenceError: Ova se pogreška baca kada govorimo o varijabli koja ne postoji (koristi se nevaljana referenca), tj. Da varijabla nije deklarirana. To je jedna od najčešćih i najčešćih pogrešaka.

4. SyntaxError: Ova pogreška ukazuje da je sintaksa skripte nevaljana, tj. Da je u kodu prisutna sintaktička netočna izjava. Što se tiče sintaksičkih pogrešaka, interpretirani jezik kao što je JavaScript neće ih bacati sve dok čitač skriptu ne učita i pročita.

5. TypeError: Ova se pogreška baca kada vrijednost nije odgovarajućeg tipa kako se očekuje ili se nevaljana vrsta podataka koristi za proglašavanje ili definiranje varijable. Primjer: izvođenje numeričkog izračuna na varijabli String ili objektu.

6. URIError: Ova je pogreška ukazivala na uporabu nelegalnih znakova koji nisu valjani u URI-metodama / funkcijama (encodeURI () ili decodeURI ()).

Rukovanje pogreškama u JavaScript-u

Kada dođe do pogreške, znamo da se skripta prestaje izvršavati, osim ako te pogreške ne obradimo u samoj skripti kako ne bi poremetili normalan protok programa. Različiti načini koje možemo primijeniti za rješavanje ovih pogrešaka su:

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

Konačno

U nekim situacijama postoje određeni odjeljci skripte koje je potrebno izvršiti bez obzira da li se dogodila pogreška ili ne, i taj dio odjeljka treba napisati u konačnom bloku.

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

obećanja

Obećanja se koriste za obradu asinkronih operacija koje mogu rezultirati pogreškom. Oni mogu upravljati s više asinhronih operacija i pružati bolja rješenja za upravljanje pogreškama u usporedbi s povratnim pozivima i događajima.

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

Primjer:

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

Preporučeni članci

Ovo je vodič za pogreške u JavaScript-u. Ovdje raspravljamo o pogreškama JavaScripta i što to znači u bilo kojem programskom jeziku zajedno s vrstom koji se obično javlja u JavaScript-u. Možete i proći naše druge predložene članke da biste saznali više -

  1. Rad inkapsulacije u JavaScript-u
  2. Kompajleri JavaScripta
  3. Kako radi dok petlja radi u Javascriptu?
  4. Zašto je JavaScript slučaj osjetljiv, ali HTML nije?
  5. Baciti protiv bacanja | Top 5 razlika koje biste trebali znati
  6. Top 10 verzija Java sa značajkama