Istruzione lancio JavaScript

In questo tutorial imparerai a conoscere le istruzioni throw di JavaScript con l'aiuto di esempi.

Nel tutorial precedente, hai imparato a gestire le eccezioni utilizzando l'istruzione try… catch di JavaScript. Le istruzioni try e catch gestiscono le eccezioni in un modo standard fornito da JavaScript. Tuttavia, è possibile utilizzare l' throwistruzione per passare eccezioni definite dall'utente.

In JavaScript, l' throwistruzione gestisce le eccezioni definite dall'utente. Ad esempio, se un certo numero viene diviso per 0 e se è necessario considerarlo Infinitycome un'eccezione, è possibile utilizzare l' throwistruzione per gestire tale eccezione.

Istruzione throw JavaScript

La sintassi dell'istruzione throw è:

 throw expression;

Qui, expressionspecifica il valore dell'eccezione.

Per esempio,

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

Nota : l'espressione può essere una stringa, un valore booleano, un numero o un valore oggetto.

Lancia JavaScript con try … catch

La sintassi di try… catch… throwè:

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

Nota : quando viene eseguita l'istruzione throw, esce dal blocco e passa al catchblocco. E il codice sotto l' throwistruzione non viene eseguito.

Esempio 1: prova … prendi … lancia Esempio

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

Produzione

 È stato rilevato un errore Messaggio di errore: Errore: il numero è basso

Nel programma precedente, viene verificata una condizione. Se il numero è inferiore a 51 , viene generato un errore. E quell'errore viene generato utilizzando l' throwistruzione.

L' throwistruzione specifica la stringa The number is lowcome un'espressione.

Nota : È inoltre possibile utilizzare altri costruttori built-in di errore per errori standard: TypeError, SyntaxError, ReferenceError, EvalError, InternalError, e RangeError.

Per esempio,

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

Ripeti un'eccezione

È inoltre possibile utilizzare l' throwistruzione all'interno del catchblocco per rilanciare un'eccezione. Per esempio,

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

Produzione

 Errore rilevato Messaggio di errore: Errore: questo è l'errore di lancio risolto

Nel programma precedente, l' throwistruzione viene utilizzata all'interno del tryblocco per catturare un'eccezione. E l' throwistruzione viene rilanciata nel catchblocco che viene eseguito se il catchblocco non può gestire l'eccezione.

Qui, il catchblocco gestisce l'eccezione e non si verifica alcun errore. Quindi, l' throwaffermazione non viene rigettata.

Se l'errore non è stato gestito dal blocco catch, l'istruzione throw verrebbe lanciata di nuovo con il messaggio di errore Uncaught Error: Il valore è basso

Articoli interessanti...