JavaScript dobási nyilatkozat

Ebben az oktatóanyagban példák segítségével megismerheti a JavaScript dobási utasításait.

Az előző oktatóanyagban megtanulta kezelni a kivételeket a JavaScript try… catch utasítás használatával. A try and catch utasítások a kivételeket a JavaScript által biztosított szokásos módon kezelik. Az throwutasítással azonban felhasználhatja a felhasználó által meghatározott kivételeket.

A JavaScript-ben az throwutasítás kezeli a felhasználó által meghatározott kivételeket. Például, ha egy bizonyos számot elosztunk 0-val , és ha Infinitykivételnek kell tekintenünk , akkor az throwutasítással kezelhetjük ezt a kivételt.

JavaScript dobási nyilatkozat

A dobási utasítás szintaxisa:

 throw expression;

Itt expressionadja meg a kivétel értékét.

Például,

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

Megjegyzés : A kifejezés lehet karakterlánc, logikai érték, szám vagy objektumérték.

JavaScript dobás próbálkozással … elkapás

A szintaxisa try… catch… throw:

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

Megjegyzés : A dobási utasítás végrehajtásakor kilép a blokkból és a blokkhoz megy catch. Az throwutasítás alatti kód nem kerül végrehajtásra.

1. példa: próbáld meg … elkapni … dobni Példa

 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); )

Kimenet

 Fogott hiba Hibaüzenet: Hiba: A szám alacsony

A fenti programban ellenőriznek egy állapotot. Ha a szám kevesebb, mint 51 , akkor hiba lép fel. És ezt a hibát az throwállítás felhasználásával dobják el .

Az throwutasítás megadja a karakterláncot The number is lowkifejezésként.

Megjegyzés : Azt is használ más beépített hiba konstruktorokat standard hiba: TypeError, SyntaxError, ReferenceError, EvalError, InternalError, és RangeError.

Például,

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

Adjon meg egy kivételt

A blokk throwbelsejében található utasításokat is felhasználhatja catcha kivétel újravetéséhez. Például,

 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'); ) )

Kimenet

 Fogott hiba Hibaüzenet: Hiba: Ez a dobási hiba megoldódott

A fenti programban a throwmondatot a tryblokkon belül használják egy kivétel fogására. És az throwutasítás visszavonásra kerül abban a catchblokkban, amely végrehajtásra kerül, ha a catchblokk nem tudja kezelni a kivételt.

Itt a catchblokk kezeli a kivételt, és nem történik hiba. Ennélfogva az throwállítást nem visszavonják.

Ha a hibát nem a fogási blokk kezelte, a dobási utasítást az Uncaught Error hibaüzenettel írták vissza: Az érték alacsony

érdekes cikkek...