Prohlášení o shodě JavaScriptu

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í throwpříkazu však můžete předat uživatelem definované výjimky.

V JavaScriptu throwpříkaz zpracovává uživatelem definované výjimky. Například pokud je určité číslo vyděleno 0 a pokud potřebujete vzít Infinityv úvahu výjimku, můžete throwtuto výjimku zpracovat pomocí příkazu.

JavaScript hodit prohlášení

Syntaxe příkazu throw je:

 throw expression;

Zde expressionurč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… throwje:

 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 catchbloku. A kód pod throwvý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í throwpříkazu.

Příkaz throwurčuje řetězec The number is lowjako výraz.

Poznámka : Můžete také použít jiné vestavěný omylem konstruktérů pro standardní chyby: TypeError, SyntaxError, ReferenceError, EvalError, InternalErrora RangeError.

Například,

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

Znovu vytvořte výjimku

Můžete také použít throwpříkaz uvnitř catchbloku 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 throwpříkaz používá v rámci trybloku k zachycení výjimky. A throwpříkaz je znovu vyvolán v catchbloku, který se provede, pokud catchblok nemůže zpracovat výjimku.

Zde catchblok zpracovává výjimku a nedojde k žádné chybě. Proto je throwtvrzení 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á

Zajímavé články...