Izjava o metanju JavaScript

V tej vadnici boste s pomočjo primerov spoznali izjave o metanju JavaScript.

V prejšnji vadnici ste se naučili obvladovati izjeme z uporabo izjave JavaScript try… catch. Izjave try and catch urejajo izjeme na standardni način, ki ga zagotavlja JavaScript. Vendar lahko z throwstavkom posredujete uporabniško določene izjeme.

V JavaScript throwizjava obravnava uporabniško določene izjeme. Na primer, če je določeno število deljeno z 0 in če morate to upoštevati Infinitykot izjemo, lahko s to throwizjavo ravnate s to izjemo.

Izjava o metu JavaScript

Sintaksa stavka throw je:

 throw expression;

Tu expressiondoloča vrednost izjeme.

Na primer

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

Opomba : Izraz je lahko niz, logična, številka ali vrednost predmeta.

JavaScript vrgel s poskusom … ulov

Sintaksa try… catch… throwje:

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

Opomba : Ko se izvrši stavek throw, izstopi iz bloka in gre v catchblok. In koda pod throwstavkom se ne izvrši.

Primer 1: poskusite… ulov… metanje Primer

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

Izhod

 Ujeta napaka Sporočilo o napaki: Napaka: Število je nizko

V zgornjem programu se preveri stanje. Če je število manjše od 51 , se prikaže napaka. In ta napaka se vrže z uporabo throwstavka.

throwIzjava določa niz The number is lowkot izraz.

Opomba : Uporabite lahko tudi druge vgrajene napake gradbenikom za standardne napake: TypeError, SyntaxError, ReferenceError, EvalError, InternalError, in RangeError.

Na primer

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

Vrnite izjemo

throwIzjavo znotraj catchbloka lahko uporabite tudi za obnovitev izjeme. Na primer

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

Izhod

 Ujeta napaka Sporočilo o napaki: Napaka: Odpravljena je napaka meta

V zgornjem programu se throwstavek uporablja v trybloku, da ujame izjemo. In throwstavek se znova vrne v catchblok, ki se izvrši, če catchblok ne more obvladati izjeme.

Tu catchblok obravnava izjemo in ne pride do napake. Zato throwizjava ni ponovno zavržena.

Če blok catch ne bi obravnaval napake, bi bil stavek throw znova vrnjen s sporočilom o napaki Uncaught Error: Vrednost je nizka

Zanimive Članki...