Declarație JavaScript throw

În acest tutorial, veți afla despre declarațiile JavaScript throw cu ajutorul exemplelor.

În tutorialul anterior, ați învățat să gestionați excepțiile folosind declarația JavaScript try … catch. Instrucțiunile try și catch gestionează excepțiile într-un mod standard, care este furnizat de JavaScript. Cu toate acestea, puteți utiliza throwinstrucțiunea pentru a trece excepții definite de utilizator.

În JavaScript, throwdeclarația gestionează excepțiile definite de utilizator. De exemplu, dacă un anumit număr este împărțit la 0 și dacă trebuie să îl considerați Infinityca o excepție, puteți utiliza throwinstrucțiunea pentru a gestiona acea excepție.

Declarație de aruncare JavaScript

Sintaxa declarației throw este:

 throw expression;

Aici, expressionspecifică valoarea excepției.

De exemplu,

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

Notă : Expresia poate fi șir, boolean, număr sau valoare obiect.

JavaScript aruncă cu try … catch

Sintaxa lui try… catch… throweste:

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

Notă : Când instrucțiunea throw este executată, ea iese din bloc și merge la catchbloc. Și codul de sub throwinstrucțiune nu este executat.

Exemplul 1: încearcă … prinde … aruncă Exemplu

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

Ieșire

 A apărut o eroare Mesaj de eroare: Eroare: numărul este scăzut

În programul de mai sus, este verificată o stare. Dacă numărul este mai mic de 51 , se aruncă o eroare. Și acea eroare este aruncată folosind throwinstrucțiunea.

Instrucțiunea throwspecifică șirul The number is lowca expresie.

Notă : Puteți utiliza și alți constructori built-in eroare pentru erori standard: TypeError, SyntaxError, ReferenceError, EvalError, InternalError, și RangeError.

De exemplu,

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

Reveniți la o excepție

De asemenea, puteți utiliza throwinstrucțiunea din interiorul catchblocului pentru a retrage o excepție. De exemplu,

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

Ieșire

 A apărut o eroare Mesaj de eroare: Eroare: Aceasta este eroarea rezolvată

În programul de mai sus, throwdeclarația este utilizată în cadrul tryblocului pentru a prinde o excepție. Și throwdeclarația este retrasă în catchbloc, care se execută dacă catchblocul nu poate gestiona excepția.

Aici, catchblocul gestionează excepția și nu apare nicio eroare. Prin urmare, throwdeclarația nu este retrasă.

Dacă eroarea nu a fost gestionată de blocul de captură, instrucțiunea throw ar fi retrasă cu mesajul de eroare Uncaught Error: Valoarea este scăzută

Articole interesante...