JavaScript-те тарлықтарды лақтыру
Алдыңғы сабақтарда біз JavaScript-тің қандай да бір проблемалар кезінде тарлықтарды лақтыратын екі жерін үйрендік.
Алайда, сіздің жобаңызда сіз үшін ерекше болып табылатын, ал JavaScript үшін емес басқа да жағдайлар болуы мүмкін. Бұл жағдайда біз өзіміздің, пайдаланушы тарлықтарын жасай аламыз және лақтыра аламыз.
Ол үшін қажет синтаксисті қарастырайық. Алдымен тарлықты
new Error командасы арқылы жасау керек,
параметр ретінде тарлық мәтінін беру керек:
new Error('тарлық мәтіні');
Содан кейін бұл тарлықты throw командасы арқылы
лақтыру керек:
throw new Error('тарлық мәтіні');
Тарлықты лақтыру JavaScript-ке ерекше жағдай орын алды
деп есептеуге мәжбүр етеді. Бұл дегеніміз, мұндай тарлықты
try-catch құрылымы арқылы ұстап қалуға және
қажетті түрде өңдеуге болады.
Оны қалай пайдалану керектігін мысалмен көрейік. Бізде бір санды екінші санға бөлетін функция бар делік:
function div(a, b) {
return a / b;
}
Нөлге бөлуге тыю салынған деп есептейік және мұны істеуге
әрекеттенген кезде ерекше жағдай тууы керек. Ол үшін функцияда
0-ге бөлу әрекеті бар ма жоқ па соны текстейміз.
Жоқ болса - бөлеміз, ал бар болса - тарлық лақтырамыз:
function div(a, b) {
if (b !== 0) {
return a / b;
} else {
throw new Error('нөлге бөлу қатесі');
}
}
Алдымен жай ғана тарлықты ұстап қалмай, 0-ге бөлуге
әрекет жасайық:
alert( div(3, 0) );
Бұл жағдайда скрипт орындалуы үзіледі және консольде
'нөлге бөлу қатесі' мәтіні бар қате пайда болады
(тексеріңіз). Енді біздің қатемізді ұстап қалып, оны
бірдәй өңдейік:
try {
alert( div(3, 0) );
} catch (error) {
alert('сіз нөлге бөлуге әрекет жасап тұрсыз, бұл тыю салынған');
}
JavaScript-те теріс саннан түбір шығару әрекеті тарлық лақтыруға әкелмейді:
let result = Math.sqrt(-1);
console.log(result); // NaN шығарады
Саннан түбір шығаратын өз функцияңызды жазыңыз, және теріс саннан түбір шығарылған кезде тарлық лақтыратын болсын.