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








