⊗jsSpExcThr 145 of 294 menu

Lancio di eccezioni in JavaScript

Nelle lezioni precedenti abbiamo studiato due luoghi in cui JavaScript lancia un'eccezione in caso di problemi.

Nel tuo progetto, tuttavia, potrebbero esserci altre situazioni che per te sono eccezionali, ma per JavaScript no. In tal caso puoi creare e lanciare le tue eccezioni personalizzate.

Analizziamo la sintassi necessaria per farlo. Per prima cosa, è necessario creare l'eccezione usando il comando new Error, passando come parametro il testo dell'eccezione:

new Error('testo dell\'eccezione');

Poi questa eccezione deve essere lanciata con il comando throw:

throw new Error('testo dell\'eccezione');

Il lancio di un'eccezione fa sì che JavaScript consideri che si sia verificata una situazione eccezionale. Ciò significa che tale eccezione può essere catturata usando la struttura try-catch e gestita nel modo desiderato.

Vediamo con un esempio come usarlo. Supponiamo di avere una funzione che divide un numero per un altro:

function div(a, b) { return a / b; }

Consideriamo che la divisione per zero sia vietata e che tentando di farlo debba verificarsi una situazione eccezionale. Per fare ciò controlleremo nella funzione se non ci sia un tentativo di divisione per 0. Se non c'è - divideremo, altrimenti - lanceremo un'eccezione:

function div(a, b) { if (b !== 0) { return a / b; } else { throw new Error('errore di divisione per zero'); } }

Per cominciare, proviamo semplicemente a dividere per 0, senza catturare l'eccezione:

alert( div(3, 0) );

In questo caso l'esecuzione dello script si interromperà e nella console apparirà un errore con il testo 'errore di divisione per zero' (verificalo). Ora catturiamo il nostro errore e gestiamolo in qualche modo:

try { alert( div(3, 0) ); } catch (error) { alert('stai tentando di dividere per 0, cosa vietata'); }

In JavaScript, il tentativo di calcolare la radice quadrata di un numero negativo non porta al lancio di un'eccezione:

let result = Math.sqrt(-1); console.log(result); // visualizzerà NaN

Scrivi la tua funzione che calcolerà la radice quadrata di un numero e allo stesso tempo lancerà un'eccezione se la radice viene calcolata da un numero negativo.

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