Lancio di diversi tipi di eccezioni in JavaScript

Lanciamo la nostra eccezione e vediamo come si comporterà l'oggetto errore in questo caso:

javascripttry {
  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:

javascripttry {
  throw new SyntaxError('testo dell\'eccezione');
} catch (error) {
  console.log(error.name); // 'SyntaxError'
  console.log(error.message); // 'testo dell\'eccezione'
}
Задание 1

Lancia un'eccezione di tipo TypeError.

Задание 2

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.