Sobes.tech
Middle

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...catch blokları: İ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
    };
    
  • unhandledrejection hadisə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, onerror və ya unhandledrejection ilə 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.