JavaScript throw-verklaring

In deze tutorial leer je met behulp van voorbeelden over JavaScript-throw-statements.

In de vorige tutorial hebt u geleerd om met uitzonderingen om te gaan met behulp van JavaScript, de try… catch-instructie. De try and catch-instructies verwerken uitzonderingen op een standaardmanier die wordt geleverd door JavaScript. U kunt de throwinstructie echter gebruiken om door de gebruiker gedefinieerde uitzonderingen door te geven.

In JavaScript throwverwerkt de instructie door de gebruiker gedefinieerde uitzonderingen. Als een bepaald getal bijvoorbeeld wordt gedeeld door 0 , en u Infinityals een uitzondering moet beschouwen , kunt u de throwinstructie gebruiken om die uitzondering af te handelen.

JavaScript throw-instructie

De syntaxis van throw-instructie is:

 throw expression;

Specificeert hier expressionde waarde van de uitzondering.

Bijvoorbeeld,

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

Opmerking : de uitdrukking kan een tekenreeks, booleaans getal, getal of objectwaarde zijn.

JavaScript gooien met proberen … vangen

De syntaxis van try… catch… throwis:

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

Opmerking : wanneer het throw-statement wordt uitgevoerd, verlaat het het blok en gaat het naar het catchblok. En de code onder de throwinstructie wordt niet uitgevoerd.

Voorbeeld 1: probeer… vangen… gooien Voorbeeld

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

Uitvoer

 Er is een fout opgetreden Foutmelding: Fout: het aantal is laag

In het bovenstaande programma wordt een conditie gecontroleerd. Als het aantal kleiner is dan 51 , wordt er een fout gegenereerd. En die fout wordt gegenereerd met behulp van de throwinstructie.

De throwinstructie specificeert de tekenreeks The number is lowals een uitdrukking.

Opmerking : U kunt ook gebruik maken van andere ingebouwde fout constructeurs voor standaard fouten: TypeError, SyntaxError, ReferenceError, EvalError, InternalError, en RangeError.

Bijvoorbeeld,

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

Herhaal een uitzondering

U kunt ook de throwinstructie binnen het catchblok gebruiken om een ​​uitzondering opnieuw te plaatsen. Bijvoorbeeld,

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

Uitvoer

 Een fout opgevangen Foutmelding: Fout: dit is de worp Fout opgelost

In het bovenstaande programma wordt de throwinstructie binnen het tryblok gebruikt om een ​​uitzondering op te vangen. En de throwinstructie wordt opnieuw ingevoerd in het catchblok dat wordt uitgevoerd als het catchblok de uitzondering niet aankan.

Hier catchverwerkt het blok de uitzondering en treedt er geen fout op. Daarom wordt de throwverklaring niet opnieuw gegooid.

Als de fout niet werd afgehandeld door het catch-blok, zou de throw-instructie opnieuw worden ingevoerd met de foutmelding Uncaught Error: The value is low

Interessante artikelen...