JavaScripti vigade sissejuhatus
Alustame arutelu selle üle, mida tähendab viga programmeerimiskeeles, eriti JavaScriptis. Vea võib määratleda veana või vale väite või väära tõlgendamise või tõrkena, kuid see määratlus pole programmi väljatöötamisel täpselt õige. Programmeerimisel on tõrge koodiosa või osa, mis rikub programmi tavapärast voogu. Mis tahes programmeerimiskeeles on tavaliselt kolme tüüpi vigu, millega üks võib kokku puutuda,
- Koosta ajavead
- Loogilised vead
- Käitusaja vead.
Me kardame sageli igasuguste vigade ees, kuid vead on head, sest õpime, kuidas midagi mitte teha ja kuidas seda järgmisel korral paremini teha.
Kui skriptis kuvatakse tõrge, peatab JavaScripti tõlk selle programmi viivitamatu täitmise ja kuvab selle tõrke brauseri konsoolis koos vea ja rea numbriga, kus see failis ilmnes. Ainus viis oma JavaScripti silumiseks on vigade ja hoiatuste kasutamine parimal võimalikul viisil ning selle põhjuse leidmine.
JavaScripti vigade tüübid
Viga võib meie rakendusele saatuslikuks saada või mitte, sõltuvalt sellest, millise veaga silmitsi seisame. JavaScriptis ilmnevad tavaliselt kuut tüüpi vead -
- Eval viga
- Vahemiku viga
- Viiteviga
- Süntaksiviga
- Tüübi viga
- URI viga
Arutame üksikasjalikult kõiki neid vigu.
Vea nimi |
Kirjeldus |
EvalError | Funktsioonis eval () on ilmnenud tõrge |
RangeError | Esinenud on arv „väljaspool ulatust” |
Viideviga | Esitatud on ebaseaduslik viide |
SyntaxError | Tekkis süntaksiviga |
TypeError | Ilmnes tüübi viga |
URIError | EncodeURI () -s ilmnes viga |
1. EvalError: näitab tõrget funktsioonis globaalne eval (), st funktsiooni eval () kasutatakse valesti. JavaScripti uuemad versioonid seda viga enam ei viska, selle asemel tuginetakse süntaksivigale.
2. RangeError: see viga visatakse välja, kui parameeter või väärtus (numbriline) on väljaspool või ületab lubatud vahemikku.
3. ReferenceError: see viga visatakse siis, kui viidatakse muutujale, mida pole olemas (kasutatakse kehtetut viidet), st seda muutujat pole deklareeritud. See on üks levinumaid ja sagedamini esinevaid vigu.
4. SyntaxError: See tõrge näitab, et skripti süntaks on kehtetu, st koodis on süntaktiliselt vale lause. Süntaksivigade osas ei tõlgenda tõlgendatud keel nagu JavaScript neid enne, kui skript on brauserisse laaditud ja seda loetud.
5. TypeError: see viga visatakse siis, kui väärtus ei ole eeldatavat tüüpi tüüpi või kui muutuja deklareerimiseks või määratlemiseks kasutatakse kehtetut andmetüüpi. Näide: numbrilise arvutuse tegemine stringi muutujale või objektile.
6. URIError: See tõrge näitas ebaseaduslike märkide kasutamist, mis on URI-ga seotud meetodites / funktsioonides (encodeURI () või decodeURI ()) kehtetud.
Vigade käsitlemine JavaScriptis
Vea ilmnemisel teame, et skripti täitmine peatub, välja arvatud juhul, kui käsitleme neid vigu skriptis endas, et mitte häirida tavalist programmivoogu. Erinevad viisid, kuidas neid vigu käsitleda, on järgmised:
try …. catch block
try (
// errorneous statement
) catch (err) (
console.error (err)
// stmts
)
Lõpuks
Mõnes olukorras on skripti teatud sektsioonid, mis tuleb täita, hoolimata tõrke esinemisest, ja see osa tuleb kirjutada viimases plokis.
try (
// errorneous statement
) catch (err) (
console.error (err)
// stmts
) finally(
//mandatory statements to run
)
Lubadused
Lubadusi kasutatakse asünkroonsete toimingute käsitlemiseks, mis võivad põhjustada tõrke. Nad suudavad hallata mitut asünkroonset toimingut ja pakkuda paremaid tõrkekäsitluslahendusi, võrreldes tagasihelistamise ja sündmustega.
var promise = new Promise(
function(resolve, reject)(
//do something
)
);
Näide:
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;
)
)
)
Soovitatavad artiklid
See on juhend JavaScripti vigade kohta. Siin käsitleme javascripti vigu ja seda, mida see tähendab mis tahes programmeerimiskeeles, lisaks tüübile, mis tavaliselt JavaScriptis esineb. Lisateavet leiate ka meie muudest soovitatud artiklitest -
- Kapseldamise toimimine JavaScriptis
- JavaScripti koostajad
- Kuidas Javascriptis töötab Kuigi Loop?
- Miks on JavaScripti tõstutundlik, kuid HTML mitte?
- Viska vs viskab | 5 parimat erinevust, mida peaksite teadma
- 10 funktsioonidega Java versiooni