V tomto výukovém programu se na příkladech dozvíte o příkazech k vyvolání JavaScriptu.
V předchozím kurzu jste se naučili zpracovávat výjimky pomocí příkazu JavaScript try… catch. Příkazy try and catch zpracovávají výjimky standardním způsobem, který poskytuje JavaScript. Pomocí throw
příkazu však můžete předat uživatelem definované výjimky.
V JavaScriptu throw
příkaz zpracovává uživatelem definované výjimky. Například pokud je určité číslo vyděleno 0 a pokud potřebujete vzít Infinity
v úvahu výjimku, můžete throw
tuto výjimku zpracovat pomocí příkazu.
JavaScript hodit prohlášení
Syntaxe příkazu throw je:
throw expression;
Zde expression
určuje hodnotu výjimky.
Například,
const number = 5; throw number/0; // generate an exception when divided by 0
Poznámka : Výrazem může být řetězec, logická hodnota, číslo nebo hodnota objektu.
Vyhodit JavaScript pomocí try… chytit
Syntaxe try… catch… throw
je:
try ( // body of try throw exception; ) catch(error) ( // body of catch )
Poznámka : Když je proveden příkaz throw, opustí blok a přejde do catch
bloku. A kód pod throw
výpisem se neprovede.
Příklad 1: zkuste… chytit… hodit Příklad
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); )
Výstup
Chybová zpráva Chybová zpráva: Chyba: Počet je nízký
Ve výše uvedeném programu je zkontrolována podmínka. Pokud je číslo menší než 51 , je vyvolána chyba. A tato chyba je vyvolána pomocí throw
příkazu.
Příkaz throw
určuje řetězec The number is low
jako výraz.
Poznámka : Můžete také použít jiné vestavěný omylem konstruktérů pro standardní chyby: TypeError
, SyntaxError
, ReferenceError
, EvalError
, InternalError
a RangeError
.
Například,
throw new ReferenceError('this is reference error');
Znovu vytvořte výjimku
Můžete také použít throw
příkaz uvnitř catch
bloku k opětovnému vyvolání výjimky. Například,
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'); ) )
Výstup
Chybová chyba Chybová zpráva: Chyba: Toto je chyba hodu vyřešena
Ve výše uvedeném programu se throw
příkaz používá v rámci try
bloku k zachycení výjimky. A throw
příkaz je znovu vyvolán v catch
bloku, který se provede, pokud catch
blok nemůže zpracovat výjimku.
Zde catch
blok zpracovává výjimku a nedojde k žádné chybě. Proto je throw
tvrzení není rethrown.
Pokud by chyba nebyla zpracována blokem catch, příkaz throw by byl znovu vyvolán s chybovou zprávou Uncaught Error: Hodnota je nízká