try...catch
Misol
Bu misolning try blokida imlo xatosi bor. Alert noto‘g‘ri yozilgan.
catch bloki xatoni ushlaydi va uni qayta ishlash uchun kodni bajaradi:
<p id="demo"></p>
<script>
try {
adddlert("Welcome guest!");
}
catch(err) {
document.getElementById("demo").innerHTML = err.message;
}
</script>
O‘zingiz sinab ko‘ring »
Quyida ko‘proq misollar.
Tavsif
Xato yuz berganda JavaScript to‘xtaydi va xato xabarini hosil qiladi.
Eslatma
Buning texnik atamasi: JavaScript istisno tashlaydi (throws an exception).
JavaScript ikkita xususiyatga ega Error obyektini yaratadi: name va message.
try...catch...finally ko‘rsatmalar birikmasi JavaScript’ni to‘xtatmasdan xatolarni qayta ishlaydi.
try operatori bajariladigan (sinab ko‘riladigan) kod blokini belgilaydi.
catch operatori har qanday xatoni qayta ishlash uchun kod blokini belgilaydi.
finally operatori natijadan qat’i nazar bajariladigan kod blokini belgilaydi.
throw operatori maxsus xatoni belgilaydi.
catch ham, finally ham ixtiyoriy, lekin ulardan bittasini ishlatishingiz shart.
Eslatma
throw operatorini try va catch bilan birga ishlatish dastur oqimini boshqarish va maxsus xato xabarlarini yaratish imkonini beradi.
Shuningdek qarang:
Sintaksis
try {
tryCode - Code block to run
}
catch(err) {
catchCode - Code block to handle errors
}
finally {
finallyCode - Code block to be executed regardless of the try result
}
Parametrlar
| Parametr | Tavsif |
| tryCode | Majburiy. Bajarilish vaqtida tekshiriladigan kod bloki. |
| err | Error obyektiga lokal havola. |
| catchCode | Ixtiyoriy. Xato yuz berganda bajariladigan kod bloki. |
| finallyCode | Ixtiyoriy. try natijasidan qat’i nazar bajariladigan kod bloki |
Ko‘proq misollar
Bu misol kiritilgan ma’lumotni tekshiradi.
Agar qiymat noto‘g‘ri bo‘lsa, istisno (err) tashlanadi:
<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="message"></p>
<script>
function myFunction() {
const message = document.getElementById("message");
message.innerHTML = "";
let x = document.getElementById("demo").value;
try {
if(x == "") throw "is Empty";
if(isNaN(x)) throw "not a number";
if(x > 10) throw "too high";
if(x < 5) throw "too low";
}
catch(err) {
message.innerHTML = "Input " + err;
}
}
</script>
O‘zingiz sinab ko‘ring »
finally operatori try natijasidan qat’i nazar, undan keyin kodni bajaradi:
function myFunction()
const message = document.getElementById("message");
message.innerHTML = "";
let x = document.getElementById("demo").value;
try {
if(x == "") throw "Empty";
if(isNaN(x)) throw "Not a number";
if(x > 10) throw "Too high";
if(x < 5) throw "Too low";
}
catch(err) {
message.innerHTML = "Error: " + err + ".";
}
finally {
document.getElementById("demo").value = "";
}
}
O‘zingiz sinab ko‘ring »
Brauzerlarda qo‘llab-quvvatlash
try...catch — ECMAScript3 (JavaScript 1999) imkoniyati.
U barcha brauzerlarda qo‘llab-quvvatlanadi:
| Chrome | Edge | Firefox | Safari | Opera |
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
