L'istruzione throw in javascript
L'istruzione throw del linguaggio javascript mi permette di sollevare un'eccezione durante l'esecuzione dello script.
throw 'messaggio'
Come funziona
Quando javascript incontra l'istruzione throw in una struttura try catch, interrompe l'esecuzione corrente e passa il controllo alla struttura catch.
La struttura catch riceve il messaggio dell'istruzione throw, lo salva in una variabile temporanea ed esegue il codice tra parentesi graffe.
A cosa serve? L'istruzione throw mi permette di personalizzare le eccezioni e gli errori, in modo tale di poterli gestire o perlomeno riconoscere più facilmente in fase di debug.
Un esempio pratico
Questo è un esempio di utilizzo dell'istruzione throw.
- <script>
- const numero = 31;
- try {
- if(numero > 30) {
- throw 'il numero è troppo alto';
- }
- document.write('Il voto è corretto');
- }
- catch(error) {
- document.write('Errore ' + error);
- }
Per prima cosa assegno alla costante numero il valore 31 (riga 2).
Poi verifico nella struttura try se la costante numero è maggiore di 30 (riga 4).
Se il numero è maggiore di 30, lo script solleva un'eccezione tramite l'istruzione throw (riga 5).
throw 'il numero è troppo alto';
A questo punto il controllo passa alla struttura catch che riceve il messaggio 'il numero è troppo alto' e lo salva nella variabile error (riga 9).
Nota. Questo vuol dire che il programma non stampa 'Il voto è corretto' (riga 7) perché l'esecuzione viene interrotta da un salto incondizionato dalla riga (5) alla struttura catch (riga 9).
Infine, il programma stampa a video
Errore il numero è troppo alto
E così via.