Lancio di diversi tipi di eccezioni in JavaScript
Lanciamo la nostra eccezione e vediamo come si comporterà l'oggetto errore in questo caso:
try {
throw new Error('testo dell\'eccezione');
} catch (error) {
console.log(error.name); // 'Error'
console.log(error.message); // 'testo dell\'eccezione'
}
Come puoi vedere, il tipo della nostra eccezione è 'Error'.
Lo stesso tipo avranno tutte le eccezioni lanciate
in questo modo. Tuttavia, questo non è sempre
conveniente, poiché se abbiamo multiple
eccezioni, non saremo in grado di distinguerle
l'una dall'altra.
In JavaScript è prevista una soluzione a questo problema:
puoi lanciare eccezioni non solo di tipo
Error, ma anche di qualsiasi tipo di errore
integrato in JavaScript, ad esempio TypeError,
SyntaxError, RangeError.
Ad esempio, lanciamo un'eccezione di tipo
SyntaxError:
try {
throw new SyntaxError('testo dell\'eccezione');
} catch (error) {
console.log(error.name); // 'SyntaxError'
console.log(error.message); // 'testo dell\'eccezione'
}
Lancia un'eccezione di tipo TypeError.
Lancia eccezioni di tipo SyntaxError
e RangeError. Cattura queste eccezioni
utilizzando un unico blocco try. Nel blocco catch
visualizza messaggi di errore diversi per eccezioni
di tipi diversi.