Грешки в JavaScript - Видове и обработка на грешки в JavaScript

Съдържание:

Anonim

Въведение в грешки в JavaScript

Нека започнем да обсъждаме какво означава „грешка“ в език на програмиране, особено в JavaScript. Грешката може да бъде дефинирана като грешка или неправилно изявление или неправилно тълкуване или грешка, но това определение не е точно правилно при разработване на програма. При програмирането грешка е раздел или част от код, който нарушава нормалния поток на програмата. Във всеки език за програмиране обикновено има три вида грешки, с които човек може да се сблъска,

  1. Компилиране на грешки във времето
  2. Логически грешки
  3. Грешки по време на изпълнение.

Често се плашим, когато се сблъскваме с всякакъв вид грешки, но грешките са добри, защото се научаваме как да не правим нещо и как да го направим по-добре следващия път.

В 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. Можете да разгледате и другите ни предложени статии, за да научите повече -

  1. Работа на капсулиране в JavaScript
  2. JavaScript Компилатори
  3. Как работи, докато Loop работи в Javascript?
  4. Защо JavaScript е чувствителен към регистъра, но HTML не е?
  5. Хвърли срещу Хвърли | Топ 5 разлики, които трябва да знаете
  6. Топ 10 версии на Java с функции