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,
- Sastavite vremenske pogreške
- Logičke pogreške
- 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 |
EvalError | Došlo je do pogreške u funkciji eval () |
RangeError | Došlo je do broja izvan dometa |
ReferenceError | Došlo je do ilegalne reference |
Sintaktička pogreška | Došlo je do sintaksičke pogreške |
TypeError | Došlo je do pogreške pogreške |
URIError | Doš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 -
- Rad inkapsulacije u JavaScript-u
- Kompajleri JavaScripta
- Kako radi dok petlja radi u Javascriptu?
- Zašto je JavaScript slučaj osjetljiv, ali HTML nije?
- Baciti protiv bacanja | Top 5 razlika koje biste trebali znati
- Top 10 verzija Java sa značajkama