Chyby v JavaScripte - Typy a manipulácia s chybami v JavaScripte

Obsah:

Anonim

Úvod do chýb v JavaScripte

Začnime diskutovať o tom, čo „chyba“ znamená v programovacom jazyku, najmä v JavaScripte. Chyba môže byť definovaná ako chyba alebo nesprávne vyhlásenie alebo nesprávna interpretácia alebo chyba, ale táto definícia nie je presne správna pri vývoji programu. Pri programovaní je chyba časť alebo časť kódu, ktorá prerušuje normálny tok programu. V ktoromkoľvek programovacom jazyku sú zvyčajne tri druhy chýb, ktorým môže človek čeliť,

  1. Chyby kompilácie času
  2. Logické chyby
  3. Chyby za behu.

Často sa bojíme, keď čelíme akýmkoľvek chybám, ale chyby sú dobré, pretože sa nabudúce naučíme, ako niečo neurobiť a ako to urobiť lepšie.

Ak skript vyvolá chybu, interpret jazyka JavaScript zastaví vykonávanie programu, ktoré je okamžité, a zobrazí túto chybu v konzole prehliadača spolu s chybou a číslom riadku, v ktorom sa vyskytla v súbore. Jediným spôsobom, ako môžeme ladiť náš JavaScript, je použitie chýb a upozornení čo najlepšie a nájdenie príčiny.

Typy chýb v JavaScripte

Chyba môže alebo nemusí byť pre našu aplikáciu fatálna v závislosti od druhu chyby, ktorej čelíme. V JavaScripte sa zvyčajne vyskytuje šesť typov chýb -

  • Eval Error
  • Chyba rozsahu
  • Chyba referencie
  • Chyba syntaxe
  • Zadajte chybu
  • Chyba URI

Poďme sa podrobne venovať každej z týchto chýb.

Názov chyby

popis

EvalErrorVo funkcii eval () sa vyskytla chyba
RangeErrorVyskytlo sa číslo „mimo dosahu“
ReferenceErrorVyskytol sa nezákonný odkaz
Chyba syntaxeVyskytla sa chyba syntaxe
TypeErrorVyskytla sa chyba typu
URIErrorVyskytla sa chyba v encodeURI ()

1. EvalError: Označuje chybu v globálnej funkcii eval (), tj funkcia eval () sa používa nesprávnym spôsobom. Novšie verzie JavaScriptu túto chybu už nevyhadzujú, namiesto toho sa spolieha na chybu syntaxe.

2. RangeError: Táto chyba sa vyvolá, keď je parameter alebo hodnota (numerická) mimo alebo prekračuje povolený rozsah.

3. ReferenceError: Táto chyba sa vyvolá, keď hovoríme o premennej, ktorá neexistuje (použije sa neplatná referencia), tj táto premenná nebola deklarovaná. Je to jedna z najčastejších a často sa vyskytujúcich chýb.

4. SyntaxError: Táto chyba naznačuje, že syntax skriptu je neplatná, tj v kóde je syntaktický nesprávny príkaz. Pokiaľ ide o chyby syntaxe, interpretovaný jazyk, ako je JavaScript, nevyhadzuje tie jazyky, kým sa skript nenačíta do prehliadača a neprečíta ho.

5. TypeError: Táto chyba sa vyvolá, keď hodnota nie je správneho typu podľa očakávania alebo ak sa na deklarovanie alebo definovanie premennej použije neplatný typ údajov. Príklad: vykonanie numerického výpočtu na premennej alebo objekte String.

6. URIError: Táto chyba indikovala použitie nelegálnych znakov, ktoré sú neplatné v metódach / funkciách súvisiacich s URI (encodeURI () alebo decodeURI ()).

Riešenie chýb v JavaScripte

Keď sa vyskytne chyba, vieme, že skript sa zastaví, pokiaľ tieto chyby nezmôžeme v samotnom skripte, aby sme nenarušili normálny priebeh programu. Rôzne spôsoby, ktoré môžeme implementovať pri riešení týchto chýb, sú:

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

konečne

V niektorých situáciách existujú určité časti skriptu, ktoré je potrebné vykonať bez ohľadu na to, či sa vyskytne chyba, a tá časť sekcie musí byť napísaná v konečnom bloku.

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

Sľuby

Sľuby sa používajú na spracovanie asynchrónnych operácií, ktoré môžu viesť k chybe. Môžu spravovať viac asynchrónnych operácií a poskytovať lepšie riešenia na riešenie chýb v porovnaní s spätnými volaniami a udalosťami.

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

Príklad:

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

Odporúčané články

Toto je sprievodca chybami v JavaScripte. Tu diskutujeme chyby javascriptu a čo to znamená v akomkoľvek programovacom jazyku spolu s typom, ktorý sa zvyčajne vyskytuje v javascripte. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Fungovanie zapuzdrenia v JavaScripte
  2. Kompilátory JavaScriptu
  3. Ako funguje slučka v slučke Javascript?
  4. Prečo je to malé a veľké písmená jazyka JavaScript, ale HTML nie?
  5. Hodiť vs Hodí | Top 5 rozdielov, ktoré by ste mali vedieť
  6. Top 10 verzií Java s funkciami