JS xatolar va istisnolar
Sinab ko‘rish operatori
JavaScript-da try iborasi kodni bajarish jarayonida yuzaga kelishi mumkin bo‘lgan xatolarni (istisnolar deb ham ataladi) boshqarish uchun ishlatiladi - butun dasturni to‘xtatmasdan.
try iborasi catch bilan birga ishlaydi.
Ba’zan u finally bilan ishlaydi.
Va ba’zida u throw bilan ishlaydi.
Sinab ko‘rish bloki
try blokida xatolik yuzaga kelishi mumkin bo‘lgan kod mavjud.
Hech qanday xatolik yuz bermasa, catch bloki o‘tkazib yuboriladi.
Sintaksis
try {
// Code that may cause an error
} catch (error) {
// Code to handle the error
}
Qo‘lga olish bloki
catch bloki try blokida xatolik yuzaga kelgan taqdirdagina bajariladi.
Xato obyekti nima noto‘g‘ri bo‘lganligi haqida batafsil ma’lumot beradi.
Sintaksis
try {
// Code that may cause an error
} catch (error) {
// Code to handle the error
}
Nihoyat blok (ixtiyoriy)
finally bloki sinash va tutib olish bloklaridan keyin bajariladi,
xatolik yuz berdimi yoki yo‘qmi.
Odatda tozalash vazifalari uchun ishlatiladi (masalan, fayllarni yopish, yuklovchilarni to‘xtatish va boshqalar).
Sintaksis
try {
// Code that may cause an error
} catch (error) {
// Code to handle the error
} finally {
// Code that always runs, no matter what
}
JavaScript otish xatolari
Xato sodir bo‘lganda, JavaScript odatda to‘xtaydi va xato xabarini yaratadi.
Buning texnik atamasi: JavaScript istisno (xato) chiqaradi.
JavaScript aslida ikkita xususiyatga ega Xato obyektini yaratadi: nom va xabar.
Otish operatori
throw operatori sizga maxsus xato yaratish imkonini beradi.
Texnik jihatdan siz istisno qilishingiz mumkin (xato yuborish).
Istisno JavaScript String , Number , Boolean yoki Object bo‘lishi mumkin:
throw "Too big"; // throw a text
throw 500; // throw a number
Agar try and catch bilan birga throw dan foydalansangiz, dastur oqimini boshqarishingiz va maxsus xato xabarlarini yaratishingiz mumkin.
Kirishni tekshirish misoli
Ushbu misol kirishni tekshiradi. Qiymat noto‘g‘ri bo‘lsa, istisno (xato) tashlanadi.
Istisno (xato) catch operatori tomonidan ushlanadi va maxsus xato xabari ko‘rsatiladi:
<!DOCTYPE html>
<html>
<body>
<p>Please input a number between
5 and 10:</p>
<input id="demo" type="text">
<button type="button"
onclick="myFunction()">Test Input</button>
<p id="p01"></p>
<script>
function myFunction() {
const message =
document.getElementById("p01");
message.innerHTML = "";
let x =
document.getElementById("demo").value;
try {
if(x.trim() == "") throw "empty";
if(isNaN(x)) throw "not a number";
x = Number(x);
if(x < 5) throw
"too low";
if(x > 10) throw "too
high";
} catch(err) {
message.innerHTML =
"Input is " + err;
}
}
</script>
</body>
</html>
O‘zingiz sinab ko‘ring »
HTMLni tekshirish
Yuqoridagi kod faqat bir misol.
Zamonaviy brauzerlar ko‘pincha HTML atributlarida belgilangan oldindan belgilangan tekshirish qoidalaridan foydalangan holda JavaScript va o‘rnatilgan HTML tekshiruvi kombinatsiyasidan foydalanadilar:
<input id="demo" type="number" min="5" max="10" step="1">
Shakllarni tekshirish haqida ko‘proq ma’lumotni ushbu qo‘llanmaning keyingi bobida o‘qishingiz mumkin.
Nihoyat, misol
finally iborasi sinashdan keyin kodni bajarishga imkon beradi
natijadan qat’iy nazar tuting:
Sintaksis
try {
Block of code to try
} catch(err) {
Block of code to handle errors
} finally {
Block of code to be executed regardless of the try / catch result
}Misol
function myFunction() {
const message =
document.getElementById("p01");
message.innerHTML = "";
let x =
document.getElementById("demo").value;
try {
if(x.trim() == "") throw "is empty";
if(isNaN(x))
throw "is not a number";
x = Number(x);
if(x >
10) throw "is too high";
if(x <
5) throw "is too low";
} catch(err)
{
message.innerHTML = "Error: " +
err + ".";
} finally {
document.getElementById("demo").value = "";
}
}
O‘zingiz sinab ko‘ring »
Shuningdek qarang:
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
