Izjava o bacanju JavaScript-a

U ovom ćete uputstvu uz primjere naučiti o JavaScript-izjavama za bacanje.

U prethodnom uputstvu naučili ste rukovati iznimkama koristeći JavaScript pokušaj… catch statement. Izjave try and catch obrađuju iznimke na standardni način koji pruža JavaScript. Međutim, možete koristiti throwizjavu za prosljeđivanje izuzetaka definiranih od korisnika.

U JavaScript-u throwizjava obrađuje korisnički definirane iznimke. Na primjer, ako je određeni broj podijeljen s 0 i ako je potrebno uzeti u obzir Infinitykao iznimku, možete koristiti throwizjavu za obradu te iznimke.

Izjava o bacanju JavaScript-a

Sintaksa naredbe throw je:

 throw expression;

Ovdje expressionodređuje vrijednost iznimke.

Na primjer,

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

Napomena : Izraz može biti niz, logička vrijednost, broj ili vrijednost objekta.

JavaScript baciti s try … catch

Sintaksa try… catch… throwje:

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

Napomena : Kada se izvrši izjava bacanja, ona izlazi iz bloka i odlazi u catchblok. A kod ispod throwizjave se ne izvršava.

Primjer 1: pokušaj … uhvati … baci Primjer

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

Izlaz

 Uhvaćena pogreška Poruka pogreške: Pogreška: Broj je nizak

U gornjem programu provjerava se stanje. Ako je broj manji od 51 , pojavit će se pogreška. I ta se pogreška baca pomoću throwizjave.

Izraz thrownavodi niz The number is lowkao izraz.

Napomena : Možete koristiti i druge ugrađene greške graditelja standardne pogreške: TypeError, SyntaxError, ReferenceError, EvalError, InternalError, i RangeError.

Na primjer,

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

Vratite iznimku

Također možete koristiti thrownaredbu unutar catchbloka za ponovno uspostavljanje iznimke. Na primjer,

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

Izlaz

 Uhvaćena pogreška Poruka o pogrešci: Pogreška: Riješena je pogreška prilikom bacanja

U gornjem programu, throwizjava se koristi unutar trybloka za hvatanje iznimke. A throwizjava se ponovno baca u catchblok koji se izvršava ako catchblok ne može obraditi iznimku.

Ovdje catchblok obrađuje iznimku i ne dolazi do pogreške. Stoga se throwizjava ne preusmjerava.

Ako blok catch ne obrađuje pogrešku, naredba bacanja ponovno će se baciti s porukom pogreške Uncaught Error: Vrijednost je niska

Zanimljivi članci...