JavaScript-də öz istisna növlərimizin yaradılması

JavaScript-də daxili istisnaların sayı çox böyük deyil və onlar çox vaxt müxtəlif istisna növləri ilə bağlı bütün ehtiyaclarımızı ödəyə bilmir. Buna görə də JavaScript-də öz növü ilə istisnalar yaratmaq imkanı daxil edilib.

Bunu etməyin müxtəlif yolları var. Ən sadəsi - throw-a name və message açarları olan bir obyekt ötürməkdir:

javascripttry {
  throw {name: 'MyError', message: 'istisna mətni'};
} catch (error) {
  console.log(error.name); // 'MyError'
  console.log(error.message); // 'istisna mətni'
}
Задание 1

Əvvəllər biz sıfıra bölmə zamanı istisna atan bir funksiya etmişdik:

javascriptfunction div(a, b) {
  if (b !== 0) {
    return a / b;
  } else {
    throw new Error('sıfıra bölmə xətası');
  }
}

Bu funksiyanı elə dəyişin ki, o, bizim tərəfimizdən uydurulmuş hər hansı bir növ ilə istisna atsın, məsələn, DivisionByZeroError.

Задание 2

Əvvəllər siz mənfi ədəddən kök çıxarmaq cəhdi zamanı istisna atan bir funksiya etmişdiniz. Funksiyanızı elə dəyişin ki, o, sizin tərəfinizdən uydurulmuş növ ilə istisna atsın. İstisnanın adı üzərində yaxşı düşünün ki, bu ad uğurlu olsun.