JavaScript'te hataları nasıl takip ediyor ve izliyorsun?
sobes.tech yapay zeka
AI'dan gelen yanıt
JavaScript'teki hataları aşağıdaki yöntemlerle izliyor ve monitör ediyorum:
-
Tarayıcı konsolu: Geliştirme aşamasında hata ayıklama için ana araçtır. Hata mesajları (sentetik, mantıksal, çalışma zamanı) dosya ve satır numarasıyla gösterilir.
-
try...catchblokları: Çalışma zamanı hatalarını yakalar, bunları işlemek veya ek bilgi göstermek için kullanılır.try { // Hata oluşturabilecek kod let result = riskyOperation(); } catch (error) { // Hata işleme console.error("Bir hata oluştu:", error.message); // Hata sunucuya gönderilebilir sendErrorToServer(error); } -
window.onerror: JavaScript'teki yakalanmamış hatalar için küresel işleyici.try...catch'in kaçtığı hataları merkezi olarak yakalamaya olanak tanır.window.onerror = function(message, source, lineno, colno, error) { console.error("Küresel hata:", message, source, lineno, colno); // Hata bilgilerini sunucuya gönder sendErrorToServer({ message: message, source: source, lineno: lineno, colno: colno, stack: error ? error.stack : 'N/A' }); return true; // Konsolda varsayılan hata gösterimini engellemek için true döner }; -
unhandledrejectionolayı Promises için: İşlenmemiş hataları yakalar.window.addEventListener('unhandledrejection', function(event) { console.error('İşlenmemiş Promise Reddiyesi:', event.reason); // Hata bilgisini sunucuya gönder sendErrorToServer(event.reason); }); -
Hata izleme sistemleri (Sentry, Bugsnag, Rollbar): Gerçek zamanlı hata toplayan, toplayan ve analiz eden profesyonel servisler. Stack trace, kullanıcı ortamı bilgisi, hata sıklığı ve bildirimler sağlarlar. Üretimde ana araçtır.
-
Sunucu tarafı günlükleme:
try...catch,onerrorveyaunhandledrejectionile yakalanan hatalar, merkezi depolama ve analiz için sunucuya gönderilir.
Yöntem seçimi, geliştirme aşamasına ve hatanın kritikliğine bağlıdır. Üretimde her zaman try...catch, küresel işleyiciler ve izleme sistemlerinin kombinasyonunu kullanıyorum.