ЈаваСцрипт покушај ... ухвати ... коначно Изјава

У овом упутству ћете научити о исказима три … цатцх … коначно за руковање изузецима у ЈаваСцрипт-у уз помоћ примера.

Тхе try, catchи finallyблокови се користе за руковање изузецима (тип грешке). Пре него што научите о њима, морате знати о врстама грешака у програмирању.

Врсте грешака

У програмирању могу постојати две врсте грешака у коду:

Синтаксна грешка : грешка у синтакси. На пример, ако пишете consol.log('your result');, горњи програм баца синтаксну грешку. Правопис consoleје грешка у горенаведеном коду.

Рунтиме Еррор : Ова врста грешке се јавља током извршавања програма. На пример,
позивање неисправне функције или променљиве.

Ове грешке које се јављају током извођења називају се изузецима . Сада, да видимо како можете да се носите са овим изузецима.

ЈаваСцрипт покушај … цатцх Статемент

try… catchСаопштењу се користи за руковање изузетке. Његова синтакса је:

 try ( // body of try ) catch(error) ( // body of catch )

Главни код је унутар tryблока. Током извршавања tryблока, ако дође до било какве грешке, он иде у catchблок. catchБлок управља грешке као према изјавама улова.

Ако се не догоди грешка, код унутар tryблока се извршава и catchблок се прескаче.

Пример 1: Приказати непријављену променљиву

 // program to show try… catch in a program const numerator= 100, denominator = 'a'; try ( console.log(numerator/denominator); // forgot to define variable a console.log(a); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); )

Оутпут

 НаН Ухваћена грешка Порука грешке: РеференцеЕррор: а није дефинисана

У горњем програму променљива није дефинисана. Када покушате да одштампате променљиву, програм исписује грешку. Та грешка је ухваћена у catchблоку.

ЈаваСцрипт покушај … ухвати … коначно Изјава

try… catch… finallyИзјаву такође можете користити за руковање изузецима. finallyБлок извршава и када се код извршава успешно или ако се појави грешка.

Синтакса try… catch… finallyблока је:

 try ( // try_statements ) catch(error) ( // catch_statements ) finally() ( // codes that gets executed anyway )

Пример 2: покушај … ухвати … коначно Пример

 const numerator= 100, denominator = 'a'; try ( console.log(numerator/denominator); console.log(a); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); ) finally ( console.log('Finally will execute every time'); )

Оутпут

 НаН Ухваћена грешка Порука грешке: РеференцеЕррор: а није дефинисана Коначно ће се извршити сваки пут

У горњем програму долази до грешке и ту грешку catchблок ухвати . finallyБлок ће извршити у било којој ситуацији (ако се програм покреће успешно или ако се појави грешка).

Напомена : Треба да користите catchили finallyизјаву за tryизјавом. У супротном, програм ће избацити грешку Унцаугхт СинтакЕррор: Недостаје цатцх или коначно након покушаја.

ЈаваСцрипт покушај … ухвати у сетТимеоут

try… catchНеће ухватити изузетак ако се то десило у " временски " код, као у сетТимеоут (). На пример,

 try ( setTimeout(function() ( // error in the code ), 3000); ) catch (e) ( console.log( "won't work" ); )

Горе наведено try… catchнеће радити јер је мотор већ напустио try… catchконструкцију и функција се извршава касније.

try… catchБлок мора да буде у тој функцији да ухвате изузетак унутар временским функцију. На пример,

 setTimeout(function() ( try ( // error in the code ) catch ( console.log( "error is caught" ); ) ), 3000);

throwИзјаву са наредбом такође можете користити try… catchда бисте користили кориснички дефинисане изузетке. На пример, одређени број се дели са 0 . Ако желите да сматрате Infinityгрешком у програму, тада можете да избаците кориснички дефинисани изузетак помоћу throwизраза да бисте се бавили тим условом.

О Изјави о бацању ЈаваСцрипт-а сазнаћете у следећем упутству.

Занимљиви Чланци...