JavaScript-də səhvləri necə izləyir və monitor edirsiniz?
sobes.tech Süni İntellekt
AI-dan cavab
JavaScript-dəki səhvləri aşağıdakı üsullarla izləyir və monitor edirəm:
-
Brauzer konsolu: İnkişaf mərhələsində əsas diaqnostika alətidir. Səhvlər (sintetik, məntiqi, işləmə zamanı) fayl və sətir göstəricisi ilə göstərilir.
-
try...catchblokları: İcra zamanı baş verən səhvləri tuturlar, onları idarə etməyə və ya əlavə məlumat göstərməyə imkan verir.try { // Səhv yarada biləcək kod let result = riskyOperation(); } catch (error) { // Səhvinin idarə olunması console.error("Səhv baş verdi:", error.message); // Səhvi serverə göndərmək olar sendErrorToServer(error); } -
window.onerror: JavaScript-də işlənməmiş səhvlər üçün qlobal handler.try...catch-dən keçən səhvləri mərkəzləşdirilmiş şəkildə tutmağa imkan verir.window.onerror = function(message, source, lineno, colno, error) { console.error("Qlobal səhv:", message, source, lineno, colno); // Səhv haqqında məlumatları serverə göndərmək sendErrorToServer({ message: message, source: source, lineno: lineno, colno: colno, stack: error ? error.stack : 'N/A' }); return true; // Konsolda standart səhv göstərilməsini dayandırmaq üçün true qaytarır }; -
unhandledrejectionhadisəsi Promises üçün: İdarə olunmamış səhvləri tutar.window.addEventListener('unhandledrejection', function(event) { console.error('İdarə olunmamış Promise rədd edilməsi:', event.reason); // Səhv haqqında məlumatları serverə göndərmək sendErrorToServer(event.reason); }); -
Səhv monitorinq sistemləri (Sentry, Bugsnag, Rollbar): Peşəkar xidmətlər, səhvləri real vaxtda toplayır, qruplaşdırır və analiz edir. Stacktrace, istifadəçi mühiti haqqında məlumatlar, səhv tezliyi və bildirişlər təqdim edir. İstehsalda əsas vasitədir.
-
Serverə qeydiyyat: Frontenddə
try...catch,onerrorvə yaunhandledrejectionilə tutulmuş səhvlər serverə göndərilir, mərkəzləşdirilmiş saxlama və analiz üçün.
Yöntəm seçimi inkişaf mərhələsinə və səhvin kritikliyinə bağlıdır. İstehsalda hər zaman try...catch, qlobal handlerlər və monitorinq sistemlərinin birləşməsini istifadə edirəm.