Metanje različnih vrst izjem v JavaScript

Vrzimo svojo izjemo in poglejmo, kako se bo obnašal objekt z napako v tem primeru:

javascripttry {
  throw new Error('besedilo izjeme');
} catch (error) {
  console.log(error.name); // 'Error'
  console.log(error.message); // 'besedilo izjeme'
}

Kot vidite, je tip naše izjeme - 'Error'. Enak tip bodo imele vse izjeme, vržene na podoben način. Vendar to ne bo vedno priročno, saj, če imamo lahko več izjem, jih ne bomo mogli razlikovati drugo od drugega.

V JavaScript je predvidena rešitev te težave: lahko mečemo izjeme ne le tipa Error, temveč tudi katerega koli vgrajenega v JavaScript tipa napake, na primer TypeError, SyntaxError, RangeError.

Za primer vrzimo izjemo tipa SyntaxError:

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

Vrzite izjemo s tipom TypeError.

Задание 2

Vrzite izjemo s tipom SyntaxError in RangeError. Ujemite te izjeme z enim blokom try. V bloku catch izpišite različna sporočila o napaki za izjeme različnih tipov.