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 throw
utasítással azonban felhasználhatja a felhasználó által meghatározott kivételeket.
A JavaScript-ben az throw
utasítás kezeli a felhasználó által meghatározott kivételeket. Például, ha egy bizonyos számot elosztunk 0-val , és ha Infinity
kivételnek kell tekintenünk , akkor az throw
utasítással kezelhetjük ezt a kivételt.
JavaScript dobási nyilatkozat
A dobási utasítás szintaxisa:
throw expression;
Itt expression
adja 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 throw
utasí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 throw
utasítás megadja a karakterláncot The number is low
kifejezé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 throw
belsejében található utasításokat is felhasználhatja catch
a 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 throw
mondatot a try
blokkon belül használják egy kivétel fogására. És az throw
utasítás visszavonásra kerül abban a catch
blokkban, amely végrehajtásra kerül, ha a catch
blokk nem tudja kezelni a kivételt.
Itt a catch
blokk 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