Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah Anda Boleh Melaksanakan Pengendalian Ralat Global dalam JavaScript?

Bagaimanakah Anda Boleh Melaksanakan Pengendalian Ralat Global dalam JavaScript?

Linda Hamilton
Linda Hamiltonasal
2024-10-26 16:48:03897semak imbas

Mekanisme Pengendalian Ralat Global JavaScript: Menangkap Ralat Tidak Terkendali

Dalam JavaScript, adalah penting untuk menangkap ralat fungsi yang tidak dikendalikan. Walau bagaimanapun, bahasa itu pada masa ini tidak mempunyai mekanisme pengendalian ralat global khusus. Artikel ini membincangkan penyelesaian untuk menangani isu ini.

Menetapkan window.onerror Event Handler

Untuk menangkap semua ralat JavaScript yang tidak ditangkap, kami boleh menetapkan window.onerror acara kepada pengendali acara tersuai. Pengendali menerima beberapa parameter apabila ralat berlaku:

  • msg: Mesej ralat
  • url: URL skrip yang menyebabkan ralat
  • baris: The nombor baris dalam skrip
  • kol (pilihan): Nombor lajur dalam baris (disokong dalam HTML5)
  • ralat (pilihan): Objek ralat sebenar (disokong dalam HTML5)

Contoh Kod:

<code class="javascript">window.onerror = function(msg, url, line, col, error) {
  // Handle and log the error...
};</code>

Bilakah window.onerror Fire?

Acara window.onerror tercetus bila-bila masa :

  • Pengecualian yang tidak ditangkap dilemparkan (mis., lemparkan "sesetengah mesej")
  • Ralat masa kompilasi berlaku (cth., kurungan penutup hilang dalam skrip)

Pelayar Disokong

Acara window.onerror disokong dalam pelayar utama, termasuk:

  • Chrome 13
  • Firefox 6.0
  • Internet Explorer 5.5
  • Opera 11.60
  • Safari 5.1

Contoh Tangkapan Skrin

How Can You Implement Global Error Handling in JavaScript?

Pelaporan Ralat AJAX

Untuk memudahkan pelaporan ralat, kami boleh menggunakan AJAX untuk menghantar butiran ralat ke skrip sebelah pelayan untuk pengelogan atau analisis lanjut:

<code class="javascript">var xhr = new XMLHttpRequest();
xhr.open('POST', '/ajax/log_javascript_error');
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onload = function() { ... };
xhr.send(JSON.stringify(errorData));</code>

Rujukan

Untuk penerokaan lanjut, rujuk sumber berikut:

    Rangkaian Pembangun Mozilla :: window.onerror
  • MSDN :: Mengendalikan dan Mengelak Ralat Halaman Web Bahagian 2: Ralat Masa Jalan
  • Kembali kepada Asas – Acara onerror JavaScript
  • DEV.OPERA :: Pengendalian ralat yang lebih baik dengan tetingkap. onerror
  • Window onError Event
  • Menggunakan acara onerror untuk menyekat ralat JavaScript
  • SO :: window.onerror tidak menyala dalam Firefox

Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Melaksanakan Pengendalian Ralat Global dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn