JS xatolar iyerarxiyasi
JavaScript o‘rnatilgan Error obyekti va bir nechta ixtisoslashgan xato tiplarini taqdim etadi.
Barcha o‘rnatilgan xato tiplari Error’dan meros oladi.
Xatolar iyerarxiyasi
Object
└─ Error
├─ AggregateError
├─ EvalError
├─ RangeError
├─ ReferenceError
├─ SyntaxError
├─ TypeError
└─ URIError
Har bir xato tipi o‘ziga mos konstruktor tomonidan yaratilgan obyektdir.
Error obyekti
Error obyekti barcha o‘rnatilgan JavaScript xatolari uchun asosiy obyektdir.
Error obyektlari odatda nom (name) va xabarni (message) o‘z ichiga oladi.
Misol
const err = new Error("Something went wrong");
// Error: Something went wrong
(err.name + ": " + err.message)
AggregateError
AggregateError bir nechta xatoni ifodalaydi.
U odatda Promise.any() tomonidan ishlatiladi.
Misol
new AggregateError([], "Multiple errors");
EvalError
EvalError global eval() funksiyasi bilan bog‘liq xatoni bildiradi.
Bu xato tipi asosan moslik (compatibility) maqsadlarida saqlab qolingan.
RangeError
RangeError qiymat ruxsat etilgan diapazondan tashqarida bo‘lganda yuz beradi.
Misol
new Array(-1);
ReferenceError
ReferenceError JavaScript mavjud bo‘lmagan o‘zgaruvchiga murojaat qilganda yuz beradi.
Misol
document.getElementById("demo").innerHTML = x;
SyntaxError
SyntaxError JavaScript noto‘g‘ri sintaksisga duch kelganda yuz beradi.
Misol
if (true {
alert("Hello");
}
TypeError
TypeError qiymat kutilgan tipda bo‘lmaganda yuz beradi.
Misol
const x = null;
x.toString();
URIError
URIError URI’ni kodlash yoki dekodlash funksiyalariga noto‘g‘ri URI uzatilganda yuz beradi.
Misol
decodeURI("%");
Vorislik
Barcha o‘rnatilgan xato tiplari Error’dan meros oladi.
Misol
const err = new TypeError("Wrong type");
(err instanceof Error) // true
Maxsus xato tiplari
Error ni kengaytirib, o‘z xato tiplaringizni yaratishingiz mumkin.
Misol
class ValidationError extends Error {
constructor(message) {
super(message);
this.name = "ValidationError";
}
}
Xulosa
| Xato tipi | Tavsif |
|---|---|
| Error | Umumiy xato |
| AggregateError | Bir nechta xato |
| EvalError | eval() bilan bog‘liq xato |
| RangeError | Ruxsat etilgan diapazondan tashqaridagi qiymat |
| ReferenceError | Noto‘g‘ri o‘zgaruvchiga murojaat |
| SyntaxError | Noto‘g‘ri sintaksis |
| TypeError | Noto‘g‘ri qiymat tipi |
| URIError | Noto‘g‘ri URI amali |
Tegishli sahifalar:
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
