JavaScriptda xatolarni qanday kuzatib borasiz va nazorat qilasiz?
sobes.tech AI
AIdan javob
JavaScriptdagi xatolarni quyidagi usullar bilan kuzatib boraman va nazorat qilaman:
-
Brauzer konsoli: Dasturlash bosqichida debugging uchun asosiy vosita. Xatoliklar (syntetik, mantiqiy, runtime) fayl va satr bilan ko'rsatiladi.
-
try...catchbloklari: Ishga tushirishdagi xatoliklarni ushlaydi, ularni boshqarish yoki qo'shimcha ma'lumotlarni ko'rsatish imkonini beradi.try { // Xatolik keltirib chiqarishi mumkin bo'lgan kod let result = riskyOperation(); } catch (error) { // Xatolikni boshqarish console.error("Xato yuz berdi:", error.message); // Xatolikni serverga yuborish mumkin sendErrorToServer(error); } -
window.onerror: JavaScriptda ishlov berilmagan xatoliklar uchun global handler.try...catchdan o'tgan xatoliklarni markazlashtirish imkonini beradi.window.onerror = function(message, source, lineno, colno, error) { console.error("Global xato:", message, source, lineno, colno); // Xato haqida ma'lumotlarni serverga yuborish sendErrorToServer({ message: message, source: source, lineno: lineno, colno: colno, stack: error ? error.stack : 'N/A' }); return true; // Konsolda standart xato ko'rsatilishini to'xtatish uchun true qaytariladi }; -
unhandledrejectionhodisasi Promises uchun: Ishlov berilmagan xatoliklarni ushlaydi.window.addEventListener('unhandledrejection', function(event) { console.error('Ishlov berilmagan Promise rad etilishi:', event.reason); // Xato haqida ma'lumotlarni serverga yuborish sendErrorToServer(event.reason); }); -
Xatolik monitoring tizimlari (Sentry, Bugsnag, Rollbar): Professional xizmatlar, real vaqtda xatoliklarni yig'ish, to'plash va tahlil qilish. Stacktrace, foydalanuvchi muhit haqidagi ma'lumotlar, xatoliklar chastotasi va bildirishnomalarni taqdim etadi. Ishlab chiqarishda asosiy vositadir.
-
Serverga log yozish: Frontendda
try...catch,onerroryokiunhandledrejectionyordamida ushlangan xatoliklar serverga yuboriladi, markazlashtirilgan saqlash va tahlil uchun.
Usul tanlovi rivojlanish bosqichiga va xatolikning kritikligiga bog'liq. Ishlab chiqarishda har doim try...catch, global handlerlar va monitoring tizimlarining kombinatsiyasidan foydalanaman.