Въведение в грешки в JavaScript
Нека започнем да обсъждаме какво означава „грешка“ в език на програмиране, особено в JavaScript. Грешката може да бъде дефинирана като грешка или неправилно изявление или неправилно тълкуване или грешка, но това определение не е точно правилно при разработване на програма. При програмирането грешка е раздел или част от код, който нарушава нормалния поток на програмата. Във всеки език за програмиране обикновено има три вида грешки, с които човек може да се сблъска,
- Компилиране на грешки във времето
- Логически грешки
- Грешки по време на изпълнение.
Често се плашим, когато се сблъскваме с всякакъв вид грешки, но грешките са добри, защото се научаваме как да не правим нещо и как да го направим по-добре следващия път.
В JavaScript, ако скриптът хвърли грешка, JavaScript интерпретаторът ще спре изпълнението на програмата незабавно и ще покаже тази грешка в конзолата на браузъра заедно с грешката и номера на реда, където се е появила във файла. Единственият начин да отстраним грешки в нашия JavaScript е да използваме грешките и предупрежденията най-доброто, което можем, и да намерим причината за това.
Видове грешки в JavaScript
Грешка може или не може да бъде фатална за нашето приложение в зависимост от вида на грешката, с която се сблъскваме. Има шест типа грешки, които обикновено се срещат в JavaScript -
- Грешка Eval
- Грешка в обхвата
- Грешка при справка
- Синтактична грешка
- Тип грешка
- Грешка в URI
Нека обсъдим подробно всяка от тези грешки.
Име на грешката |
описание |
EvalError | Възникна грешка във функцията eval () |
RangeError | Възникна редица „извън обхвата“ |
ReferenceError | Възникна незаконна справка |
Синтактична грешка | Възникна синтактична грешка |
Тип грешка | Възникна грешка тип |
URIError | Възникна грешка в encodeURI () |
1. EvalError: Показва грешка в глобалната функция eval (), т.е. функцията eval () се използва неправилно. По-новите версии на JavaScript вече не хвърлят тази грешка, вместо това се разчита синтаксичната грешка.
2. RangeError: Тази грешка се изхвърля, когато параметър или стойност (числова) е извън или надвишава допустимия й диапазон.
3. ReferenceError: Тази грешка се изхвърля, когато се отнасяме към променлива, която не съществува (използва се невалидна референция), т.е. тази променлива не е декларирана. Това е една от най-често срещаните и често срещани грешки.
4. SyntaxError: Тази грешка показва, че синтаксисът на скрипта е невалиден, т.е. синтактично неправилно изявление присъства в кода. Що се отнася до грешките в синтаксиса, интерпретиран език като JavaScript няма да хвърля тези, докато скриптът не бъде зареден и прочетен от браузъра.
5. TypeError: Тази грешка се изхвърля, когато стойността не е от подходящ тип, както се очаква или невалиден тип данни се използва за деклариране или дефиниране на променлива. Пример: извършване на числово изчисление на променлива String или обект.
6. URIError: Тази грешка показва използването на незаконни символи, които са невалидни в URI-свързани методи / функции (encodeURI () или decodeURI ()).
Обработка на грешки в JavaScript
Когато възникне грешка, ние знаем, че скриптът спира да се изпълнява, освен ако не обработваме тези грешки в самия скрипт, за да не нарушим нормалния поток на програмата. Различните начини, които можем да приложим за справяне с тези грешки са:
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;
)
)
)
Препоръчителни статии
Това е ръководство за Грешки в JavaScript. Тук обсъждаме грешките на JavaScript и какво означава това на всеки език за програмиране, заедно с типа, който обикновено се среща в JavaScript. Можете да разгледате и другите ни предложени статии, за да научите повече -
- Работа на капсулиране в JavaScript
- JavaScript Компилатори
- Как работи, докато Loop работи в Javascript?
- Защо JavaScript е чувствителен към регистъра, но HTML не е?
- Хвърли срещу Хвърли | Топ 5 разлики, които трябва да знаете
- Топ 10 версии на Java с функции