Vyhadzovanie rôznych typov výnimiek v JavaScripte
Poďme vyhodiť vlastnú výnimku a pozrime sa, ako sa bude správať objekt s chybou v tomto prípade:
try {
throw new Error('text výnimky');
} catch (error) {
console.log(error.name); // 'Error'
console.log(error.message); // 'text výnimky'
}
Ako vidíte, typ našej výnimky je 'Error'.
Rovnaký typ budú mať všetky výnimky vyhodené
podobným spôsobom. To však nie vždy
bude výhodné, pretože ak môžeme mať
niekoľko výnimiek, nebudeme ich vedieť rozlíšiť
jednu od druhej.
JavaScript ponúka riešenie tohto problému:
je možné vyhodiť výnimky nielen typu
Error, ale aj akéhokoľvek vstavaného typu chyby v JavaScripte,
napríklad TypeError,
SyntaxError, RangeError.
Poďme napríklad vyhodiť výnimku typu
SyntaxError:
try {
throw new SyntaxError('text výnimky');
} catch (error) {
console.log(error.name); // 'SyntaxError'
console.log(error.message); // 'text výnimky'
}
Vyhoďte výnimku s typom TypeError.
Vyhoďte výnimku s typom SyntaxError
a RangeError. Zachyťte tieto výnimky
pomocou jedného bloku try. V bloku catch
zobrazte rôzne chybové správy pre výnimky
rôznych typov.