⊗jsSpExcCt 139 of 294 menu

Intercettazione delle eccezioni in JavaScript

Per intercettare le eccezioni si utilizza il costrutto try-catch. Ha la seguente sintassi:

try { // codice } catch (error) { // gestione dell'errore }

Nel blocco try va inserito il codice che potrebbe generare un'eccezione. Se durante l'esecuzione di questo codice si verifica una situazione eccezionale, il nostro script non si interromperà con un errore nella console, ma inizierà ad eseguire il codice del blocco catch.

In questo blocco dobbiamo reagire in modo adeguato all'errore. Ad esempio, se volevamo inviare alcuni dati tramite internet e internet non funziona, nel blocco catch possiamo gestire la situazione: possiamo, ad esempio, mostrare un messaggio all'utente, oppure possiamo riprovare dopo un po' a inviare i dati - nel caso in cui internet nel frattempo abbia ripreso a funzionare.

Se durante l'esecuzione del blocco try non si verificano situazioni eccezionali, allora il codice utile verrà semplicemente eseguito, mentre il codice del blocco catch no.

Ad esempio, proviamo a parsare un JSON e in caso di sua non correttezza mostriamo un messaggio a schermo:

try { let data = JSON.parse('{1,2,3,4,5}'); } catch (error) { alert('Impossibile eseguire l\'operazione di parsing JSON'); }

È dato il codice che salva una certa stringa nella memoria locale:

let str = 'una certa stringa'; localStorage.setItem('key', str);

Avvolgi questo codice nel costrutto try-catch. Nel blocco catch mostra un messaggio sull'overflow della memoria. Verifica il funzionamento del tuo codice per una stringa di dimensione inferiore a 5 MB e per una stringa di dimensione maggiore.

È dato un JSON, all'interno del quale è memorizzato un array. Se questo JSON è corretto, mostra gli elementi dell'array come una lista ul. Se invece il JSON non è corretto, mostra a schermo un messaggio che sulla pagina è avvenuto un errore.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta