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:

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

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

Vyhoďte výjimku s typem TypeError.

Задание 2

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