JavaScriptда ўз типларининг истисноларини ташлаш
JavaScriptдаги ўрнатилган истисноларнинг сони жуда кўп эмас ва улар кўпинча бизнинг турли истисно типларига бўлган эхтиёжларимизни қондира олмайди. Шу сабабдан JavaScriptда ўз типингиз билан истиснолар яратиш имконияти ўрнатилган.
Буни амалга оширишнинг турли усуллари мавжуд. Энг
оддий - throw га name ва message
калитлари билан объект ўтказамиз:
try {
throw {name: 'MyError', message: 'истисно матни'};
} catch (error) {
console.log(error.name); // 'MyError'
console.log(error.message); // 'истисно матни'
}
Олдин биз нолга бўлишда истисно ташловчи функциа яратган эдик:
function div(a, b) {
if (b !== 0) {
return a / b;
} else {
throw new Error('нолга бўлиш хатоси');
}
}
Бу функциани ўзгартиринг, шундай у биз ўйлаб топган
бирор турдаги истисно ташласин, масалан DivisionByZeroError.
Олдин сиз манфий сондан илдиз чиқаришга уринишда истисно ташловчи функциа яратган эдингиз. Бу функциани ўзгартиринг, шундай у сиз ўйлаб топган турдаги истисно ташласин. Истисно номи ҳақида яхши ўйлаб кўринг, у муваффақиятли ном бўлиши керак.