Eri tyyppisten poikkeusten heittäminen JavaScriptissä

Heitetään oma poikkeus ja katsotaan, kuinka virheolio käyttäytyy tässä tapauksessa:

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

Kuten näette, poikkeuksemme tyyppi on 'Error'. Saman tyyppisiä ovat kaikki tällä tavalla heitetyt poikkeukset. Tämä ei kuitenkaan aina ole kätevää, koska jos meillä voi olla useita poikkeuksia, emme pysty erottamaan niitä toisistaan.

JavaScriptissä on ratkaisu tähän ongelmaan: voimme heittää poikkeuksia paitsi tyyppiä Error, myös mitä tahansa JavaScriptin sisäänrakennettua virhetyyppiä, esimerkiksi TypeError, SyntaxError, RangeError.

Heitetään esimerkiksi SyntaxError-tyyppinen poikkeus:

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

Heitä TypeError-tyyppinen poikkeus.

Задание 2

Heitä SyntaxError- ja RangeError-tyyppiset poikkeukset. Sieppaa nämä poikkeukset yhdellä try-lohkolla. catch-lohkossa tulosta eri virheilmoitukset eri tyyppisille poikkeuksille.