Rumah >hujung hadapan web >tutorial js >Bagaimanakah Jejak Tindanan JavaScript Boleh Diperolehi untuk Pengecualian Tersuai?

Bagaimanakah Jejak Tindanan JavaScript Boleh Diperolehi untuk Pengecualian Tersuai?

DDD
DDDasal
2024-10-17 22:30:031052semak imbas

How Can JavaScript Stack Traces Be Obtained for Custom Exceptions?

Cara Mendapatkan Surih Tindanan JavaScript untuk Pengecualian Tersuai

Apabila melontar pengecualian JavaScript tersuai (cth., lontar "AArrggg"), mengakses a surih tindanan (melalui Firebug atau alat lain) hanya boleh mendedahkan mesej pengecualian. Artikel ini membentangkan penyelesaian untuk mendapatkan surih tindanan penuh, walaupun untuk pengecualian tersuai.

Penyelesaian Penyemak Imbas Moden:

Dalam penyemak imbas moden, anda boleh mengakses surih tindanan dengan mudah dengan konsol .trace().

Harta Timbunan Ralat:

Untuk penyelesaian yang lebih bersih dan ringkas, anda boleh menggunakan sifat tindanan objek Ralat:

<code class="js">function stackTrace() {
    var err = new Error();
    return err.stack;
}</code>

Pendekatan ini menyediakan surih tindanan terperinci, termasuk fungsi panggilan, laluan fail dan nombor baris.

Fungsi Surih Tindanan Tersuai:

Untuk lebih disesuaikan kefungsian surih tindanan, pertimbangkan untuk menggunakan skrip berikut:

<code class="js">function stacktrace() { 
  function st2(f) {
    return !f ? [] : 
        st2(f.caller).concat([f.toString().split('(')[0].substring(9) + '(' + f.arguments.join(',') + ')']);
  }
  return st2(arguments.callee.caller);
}</code>

Atas ialah kandungan terperinci Bagaimanakah Jejak Tindanan JavaScript Boleh Diperolehi untuk Pengecualian Tersuai?. 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