Хвърляне на собствени типове изключения в JavaScript

Броят на вградените в JavaScript изключения не е толкова голям и те най-често не могат да задоволят всички наши потребности от различни типове изключения. Затова в JavaScript е вградена възможност за създаване на изключения със собствен тип.

Съществуват различни начини да се направи това. Най- простият - в throw да се подаде обект с ключове name и message:

javascripttry {
  throw {name: 'MyError', message: 'текст на изключението'};
} catch (error) {
  console.log(error.name); // 'MyError'
  console.log(error.message); // 'текст на изключението'
}
Задание 1

По-рано направихме функция, която хвърля изключение при деление на нула:

javascriptfunction div(a, b) {
  if (b !== 0) {
    return a / b;
  } else {
    throw new Error('грешка при деление на нула');
  }
}

Променете тази функция така, че да хвърля изключение с някакъв измислен от нас тип, например DivisionByZeroError.

Задание 2

По-рано направихте функция, която хвърля изключение при опит за извличане на корен от отрицателно число. Променете вашата функция така, че да хвърля изключение с измислен от вас тип. Помислете добре над наименованието на изключението, така че то да е удачно.