Bacanje sopstvenih tipova izuzetaka u JavaScript-u

Broj ugrađenih izuzetaka u JavaScript-u nije tako veliki i oni najčešće ne mogu zadovoljiti sve naše potrebe za različitim tipovima izuzetaka. Stoga je u JavaScript ugrađena mogućnost da se kreiraju izuzeci sa sopstvenim tipom.

Postoje različiti načini da se to uradi. Najjednostavniji je da se u throw prosledi objekat sa ključevima name i message:

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

Ranije smo napravili funkciju koja baca izuzetak pri deljenju sa nulom:

javascriptfunction div(a, b) {
  if (b !== 0) {
    return a / b;
  } else {
    throw new Error('greška pri deljenju sa nulom');
  }
}

Izmenite ovu funkciju tako da baca izuzetak sa nekim izmišljenim od strane nas tipom, na primer, DivisionByZeroError.

Задание 2

Ranije ste pravili funkciju koja baca izuzetak pri pokušaju izvlačenja korena iz negativnog broja. Izmenite vašu funkciju tako da ona baca izuzetak sa izmišljenim od strane vas tipom. Dobro razmislite o nazivu izuzetka, da bi taj naziv bio dobar.