Изјава о бацању ЈаваСцрипт-а

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

У претходном упутству научили сте да рукујете изузецима користећи ЈаваСцрипт три… цатцх изјаву. Извештаји три анд цатцх обрађују изузетке на стандардни начин који обезбеђује ЈаваСцрипт. Међутим, можете користити throwизјаву за прослеђивање кориснички дефинисаних изузетака.

У ЈаваСцрипт-у throwизјава обрађује кориснички дефинисане изузетке. На пример, ако је одређени број подељен са 0 и ако је потребно узети у обзир Infinityкао изузетак, можете да користите throwизјаву за руковање тим изузетком.

Изјава о бацању ЈаваСцрипт-а

Синтакса наредбе тхров је:

 throw expression;

Овде expressionодређује вредност изузетка.

На пример,

 const number = 5; throw number/0; // generate an exception when divided by 0

Напомена : Израз може бити низ, логичка вредност, број или вредност објекта.

ЈаваСцрипт бацање са покушајем … улов

Синтакса try… catch… throwје:

 try ( // body of try throw exception; ) catch(error) ( // body of catch )

Напомена : Када се изврши изјава бацања, она излази из блока и прелази у catchблок. А код испод throwизјаве се не извршава.

Пример 1: покушај … ухвати … баци Пример

 const number = 40; try ( if(number> 50) ( console.log('Success'); ) else ( // user-defined throw statement throw new Error('The number is low'); ) // if throw executes, the below code does not execute console.log('hello'); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); )

Оутпут

 Ухваћена грешка Порука грешке: Грешка: Број је низак

У горњем програму се проверава стање. Ако је број мањи од 51 , избациће се грешка. И та грешка се баца помоћу throwизјаве.

throwСаопштењу наводи низ The number is lowкао израз.

Напомена : Можете користити и друге уграђене грешке извођача радова за стандардне грешке: TypeError, SyntaxError, ReferenceError, EvalError, InternalError, и RangeError.

На пример,

 throw new ReferenceError('this is reference error');

Вратите изузетак

Такође можете да користите throwизјаву унутар catchблока да бисте вратили изузетак. На пример,

 const number = 5; try ( // user-defined throw statement throw new Error('This is the throw'); ) catch(error) ( console.log('An error caught'); if( number + 8> 10) ( // statements to handle exceptions console.log('Error message: ' + error); console.log('Error resolved'); ) else ( // cannot handle the exception // rethrow the exception throw new Error('The value is low'); ) )

Оутпут

 Ухваћена грешка Порука о грешци: Грешка: Ово је грешка приликом бацања решена

У горе наведеном програму, throwнаредба се користи унутар tryблока да ухвати изузетак. А throwизјава се поново баца у catchблок који се извршава ако catchблок не може да поднесе изузетак.

Овде catchблок обрађује изузетак и не долази до грешке. Стога се throwизјава не пребацује.

Ако блок цатцх не обрађује грешку, наредба тхров би се поново бацила са поруком грешке Унцаугхт Еррор: Вредност је мала

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