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.

ULASHISH

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


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!