⊗jsSpExcThrT 146 of 294 menu

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ů.

csruesaznl