JavaScript

Javascript Опитайте да хванете

Javascript Опитайте да хванете

Javascript е преводачески език за програмиране. Подобно на всеки друг език, разработчикът или програмистът често трябва да се грижи за обработката на грешки. Най-вече програмист или разработчик трябва да обработва грешки, докато осъществява достъп или присвоява някои данни на базата данни. Така че обработката на грешки е съществена част от всеки програмен проект. Има три вида грешки в програмирането, с които програмист или разработчик често трябва да се сблъска.

Синтактична грешка - Грешка при писане на код срещу синтаксиса на програмния език. Например липсва точка или двоеточие или не се спазва конвенцията за създаване и извикване на функцията.

Логическа грешка - Грешка в изграждането на логиката. Например, внедряване на грешна аритметична операция, което води до грешен изход.

Грешка по време на работа - Възникна грешка по време на изпълнение. Като извикване на функция, без да я декларира.

Грешката, която получаваме по време на изпълнение, е известна също като изключение. Изключително боравене е много важно. Защото не можем да изхвърлим грешките и кодовете за грешки веднага. Трябва да се справим с това. И така, в тази статия ще имаме разбиране за това как да се справяме с изключенията, като използваме блока try-catch на javascript. Също така ще научим как да хвърляме персонализирано съобщение срещу грешка и как да използваме блока „окончателно“ с блок за опит за улавяне.

Синтаксис

Синтаксисът за използване на try-catch блок е много прост и лесен за използване. Можем просто да използваме блока try-catch по този начин

опитвам
// код за опитване или тестване
хвърляне // хвърляне на персонализирана грешка за улавяне
улов (грешка)
// код след получаване на грешка
накрая
// код, който се изпълнява във всеки случай

В този синтаксис първо пишем някои редове код в блока "try", за да тестваме. Ако този код бъде изпълнен или преминат успешно теста. Блокът „try“ няма да хвърли грешка в блока „catch“ и да изпълни блока „окончателно“. В противен случай ще хвърли грешка в блока “catch”, където можем да се справим с изключенията според дадената грешка. Можем да хвърлим персонализирана грешка и в блока “catch”, като използваме ключовата дума “throw”. Блокът „Накрая“ ще бъде изпълнен във всеки случай. Или блокът „try“ изхвърля или не. Нека опитаме няколко примера, за да имаме по-добро разбиране.

Примери

На първо място, за да демонстрираме простата и основна работа на блока try-catch. Опитваме се да извикаме функция, без да я декларираме никъде.

добавяне ()

Определено ще хвърли грешка в конзолата


Но ако се опитаме да го извикаме в блок за опити сега

опитвам
добавяне ()
улов (грешка)

Вече няма да показва грешка в конзолата, защото не сме написали код в блока за улов за грешка. И така, сега можем да модифицираме и конзолираме съобщението за грешка в блока catch.

опитвам
добавяне ()
улов (грешка)
конзола.log ("Съобщение за грешка =>" + грешка)

Можем да видим нашето потребителско съобщение в конзолата срещу грешката.


И така, това е най-основното използване на блока try-catch. Сега, нека да научим за хвърлянето на персонализирана грешка в блока try.

Хвърли

Да предположим, че искаме да хвърлим различна потребителска грешка на базата на различни грешки, докато се опитваме. Можем да добавим персонализирана грешка, че „Определението на функцията не съществува." Като този

опитвам
хвърляне на нова грешка („Определението на функцията не съществува“)
улов (грешка)
конзола.log ("Съобщение за грешка =>" + грешка)


Както можете да видите в изхода, съобщението за грешка вече е променено на нашата изхвърлена персонализирана грешка.

ProTip

Да предположим, че се опитваме да приложим този опит за улавяне на асинхронна функция. Няма да работи. Тъй като двигателят щеше да се премести на следващия ред, изпълни последния блок и асинхронната функция ще се изпълни по-късно. Например, ако приложим функцията setTimeout в блока try-catch.

опитвам
setTimeout (() =>
добавяне ();
, 3000)
улов (грешка)
конзола.log ("Съобщение за грешка =>" + грешка)
накрая
конзола.дневник („достигна до„ окончателно “блок“)


Можете да забележите, че блокът „окончателно“ се изпълнява първо и грешката се изхвърля по-късно, ако разгледаме грешката. Това не е грешката от блока catch, но е оригинална грешка при програмиране, което означава, че блокът catch не се изпълнява, защото опитват блокът не е намерил грешка.

Добре! Сега, ако искаме да го накараме да работи. Трябва да приложим блока try-catch вътре в функцията setTimeout вместо извън. И така, истинският начин за внедряване на асинхронна функция с блок try-catch би бил такъв.

setTimeout (() =>
опитвам
добавяне ();
улов (грешка)
конзола.log ("Съобщение за грешка =>" + грешка)
накрая
конзола.дневник („достигна до„ най-накрая “блок“)

, 3000)


Можете да забележите в изхода, че след закъснението от 3 секунди поради функцията setTimeout. Първо получихме съобщението за грешка от блока catch и след това се изпълнява блокът „окончателно“.

Заключение

В тази статия се научихме да изпълняваме блока try-catch стъпка по стъпка в javascript по толкова лесен и задълбочен начин, че всеки начинаещ, след като прочете тази статия, би могъл да я приложи навсякъде, където има нужда. Така че, продължете да учите и да получавате опит в javascript с linuxhint.com. Благодаря ти!

Как да използвам AutoKey за автоматизиране на Linux игри
AutoKey е програма за автоматизация на настолни компютри за Linux и X11, програмирана в Python 3, GTK и Qt. Използвайки неговата функционалност за скр...
Как да покажа брояч на FPS в игрите на Linux
Linux игрите получиха голям тласък, когато Valve обяви поддръжка на Linux за Steam клиент и техните игри през 2012 г. Оттогава много AAA и независими ...
Как да изтеглите и пуснете Civilization VI на Сид Майер на Linux
Въведение в играта Civilization 6 е модерен поглед върху класическата концепция, въведена в поредицата от игрите Age of Empires. Идеята беше доста про...