JavaScript-da o'z istisno turlarini yaratish

JavaScript-da o'rnatilgan istisnolar soni juda ko'p emas va ular ko'pincha bizning turli xil istisno turlariga bo'lgan ehtiyojlarimizni qondira olmaydi. Shuning uchun JavaScript-da o'z turi bilan istisnolar yaratish imkoniyati mavjud.

Buning turli usullari mavjud. Eng oddiy usul - throw ga name va message kalitlari bo'lgan obyektni uzatish:

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

Ilgari biz nolga bo'lishda istisno chiqaradigan funktsiyani yaratgan edik:

javascriptfunction div(a, b) {
  if (b !== 0) {
    return a / b;
  } else {
    throw new Error('nolga bo‘lish xatosi');
  }
}

Ushbu funktsiyani qayta ishlang, shunda u biz tomonidan ixtiro qilingan turdagi, masalan, DivisionByZeroError kabi, istisno chiqarsin.

Задание 2

Ilgari siz manfiy sondan ildiz chiqarishga urinishda istisno chiqaradigan funktsiyani yaratgan edingiz. Funktsiyangizni qayta ishlang, shunda u siz tomonidan ixtiro qilingan turdagi istisno chiqarsin. Istisno nomi muvofiq bo'lishi uchun uning nomi ustida yaxshi o'ylab ko'ring.