Увод у грешке у ЈаваСцрипт-у
Почнимо да разговарамо о томе шта „грешка“ значи у програмском језику посебно у ЈаваСцрипт-у. Грешка се може дефинисати као грешка или погрешна изјава или погрешно тумачење или грешка, али ова дефиниција није тачно тачна приликом развоја програма. У програмирању је грешка одељак или део кода који прекида нормалан ток програма. У било којем програмском језику обично постоје три врсте грешака са којима се може суочити,
- Компајлирај грешке времена
- Логичке грешке
- Грешке током извођења.
Често се плашимо када се суочимо са било каквим грешкама, али грешке су добре, јер научимо како нешто не радити и како то боље учинити следећи пут.
У ЈаваСцрипт-у, ако скрипта искаже грешку, ЈаваСцрипт интерпретер ће зауставити извршење тог тренутка програма и приказати ту грешку на конзоли прегледача, заједно са грешком и бројем линије где се догодио у датотеци. Једини начин на који можемо да откријемо ЈаваСцрипт је коришћење грешака и упозорења најбоље што можемо и проналажење разлога за то.
Врсте грешака у ЈаваСцрипт-у
Грешка може или не мора бити фатална за нашу апликацију у зависности од врсте грешке у којој се сусрећемо. Постоји шест врста грешака које се обично јављају у ЈаваСцрипт-у -
- Евал Еррор
- Грешка опсега
- Грешка референце
- Синтаксна грешка
- Тип грешка
- Грешка УРИ-а
Расправимо детаљно о свакој од ових грешака.
Назив грешке |
Опис |
ЕвалЕррор | Дошло је до грешке у функцији евал () |
РангеЕррор | Дошло је до броја изван домета |
РеференцеЕррор | Дошло је до илегалне референце |
Синтаксна грешка | Дошло је до синтаксичке грешке |
ТипеЕррор | Дошло је до грешке типа |
УРИЕррор | Дошло је до грешке у енцодеУРИ () |
1. ЕвалЕррор: Означава грешку у глобалној функцији евал (), тј. Функција евал () се користи на погрешан начин. Новије верзије ЈаваСцрипта више не бацају ову грешку, уместо тога се ослања на грешку синтаксе.
2. РангеЕррор: Ова грешка се баца када је параметар или вриједност (нумеричка) изван или премашује дозвољени распон.
3. РеференцеЕррор: Ова грешка се баца када упућујемо на променљиву која не постоји (користи се неважећа референца), тј. Да променљива није декларисана. То је једна од најчешћих и најчешћих грешака.
4. СинтакЕррор: Ова грешка указује да је синтакса скрипте неваљана, тј. Да је у коду присутна синтактичка нетачна изјава. Што се тиче синтаксичких грешака, интерпретирани језик попут ЈаваСцрипт-а неће их бацати док се читач не учита и прочита читач.
5. ТипеЕррор: Ова грешка се баца када вредност није одговарајућег типа како се очекује или ако се неваљани тип података користи за проглашавање или дефинисање променљиве. Пример: извођење нумеричког израчуна на варијабли Стринг или објекту.
6. УРИЕррор: Ова грешка указивала је на употребу нелегалних знакова који су неважећи за УРИ-ове методе / функције (енцодеУРИ () или децодеУРИ ()).
Руковање грешкама у ЈаваСцрипт-у
Када дође до грешке, знамо да се скрипта престаје извршавати, осим ако те грешке не обрадимо у самој скрипти како не би пореметили нормалан ток програма. Различити начини које можемо имплементирати у рјешавање ових грешака су:
try …. catch block
try (
// errorneous statement
) catch (err) (
console.error (err)
// stmts
)
Коначно
У неким ситуацијама постоје одређени делови скрипте које је потребно извршити без обзира да ли се догодила грешка или не, и тај део одељка треба написати у коначном блоку.
try (
// errorneous statement
) catch (err) (
console.error (err)
// stmts
) finally(
//mandatory statements to run
)
Обећања
Обећања се користе за руковање асинхроним операцијама које могу резултирати грешком. Могу да управљају са више асинхроних операција и пружају боља решења за управљање грешкама у поређењу са повратним позивима и догађајима.
var promise = new Promise(
function(resolve, reject)(
//do something
)
);
Пример:
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;
)
)
)
Препоручени чланци
Ово је водич за Грешке у ЈаваСцрипт-у. Овде смо расправљали о грешкама ЈаваСцрипта и шта он значи у било ком програмском језику заједно са врстом који се обично јавља у ЈаваСцрипт-у. Можете и да прођете кроз друге наше предложене чланке да бисте сазнали више -
- Рад Енцапсулације у ЈаваСцрипт-у
- Компајлери ЈаваСцрипт
- Како ради док петља ради у Јавасцрипту?
- Зашто је осетљив на велика и мала слова, али ХТМЛ није?
- Тхров вс Тхров | Топ 5 разлика које би требало да знате
- Топ 10 верзија Јава са функцијама