Vyhazování různých typů výjimek v JavaScriptu
Pojďme vyhodit vlastní výjimku a podívejme se, jak se bude objekt s chybou v tomto případě chovat:
try {
throw new Error('text výjimky');
} catch (error) {
console.log(error.name); // 'Error'
console.log(error.message); // 'text výjimky'
}
Jak vidíte, typ naší výjimky je 'Error'.
Stejný typ budou mít všechny výjimky vyhozené
podobným způsobem. To však nebude vždy
vhodné, protože pokud můžeme mít
několik výjimek, nebudeme je moci odlišit
od sebe.
JavaScript nabízí řešení tohoto problému:
lze vyhazovat výjimky nejen typu
Error, ale také jakéhokoli vestavěného typu chyby v JavaScriptu,
například TypeError,
SyntaxError, RangeError.
Pojďme pro příklad vyhodit výjimku typu
SyntaxError:
try {
throw new SyntaxError('text výjimky');
} catch (error) {
console.log(error.name); // 'SyntaxError'
console.log(error.message); // 'text výjimky'
}
Vyhoďte výjimku s typem TypeError.
Vyhoďte výjimku s typem SyntaxError
a RangeError. Zachyťte tyto výjimky
pomocí jednoho bloku try. V bloku catch
vypište různé zprávy o chybě pro výjimky
různých typů.