Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Memanjangkan Objek Ralat untuk Pengecualian Tersuai dalam JavaScript?

Bagaimana untuk Memanjangkan Objek Ralat untuk Pengecualian Tersuai dalam JavaScript?

Susan Sarandon
Susan Sarandonasal
2024-10-23 22:07:02143semak imbas

How to Extend Error Objects for Custom Exceptions in JavaScript?

Melanjutkan Objek Ralat dalam JavaScript

Apabila membuang pengecualian dalam JavaScript, seseorang mungkin ingin melanjutkan objek Ralat terbina dalam untuk mencipta ralat tersuai jenis. Ini membolehkan pengendalian pengecualian yang lebih khusus dan bermaklumat.

Dalam JavaScript, Warisan Tidak Melalui Subkelas

Tidak seperti dalam Python, di mana pengecualian biasanya disubkelaskan daripada asas Pengecualian kelas, JavaScript tidak menyokong subkelas tradisional untuk objek ralat. Sebaliknya, ia menggunakan konsep sambungan prototaip.

Melanjutkan Objek Ralat dalam ES6

Dalam ES6, kata kunci lanjutan boleh digunakan untuk melanjutkan objek Ralat, mewujudkan pembina ralat tersuai:

class MyError extends Error {
  constructor(message) {
    super(message);
    this.name = 'MyError';
  }
}

Dalam contoh ini, kelas MyError mewarisi daripada objek Ralat dan mengatasi sifat nama.

Mencipta Pengecualian Tersuai

Untuk membuat contoh ralat tersuai, hanya buat seketika seperti objek lain:

throw new MyError('Something went wrong');

Mengendalikan Ralat Tersuai

Apabila mengendalikan ralat, anda boleh menggunakan pengendali instanceof untuk menyemak jenis ralat tertentu:

try {
  // ...
} catch (err) {
  if (err instanceof MyError) {
    // Handle MyError specifically
  } else {
    // Handle other errors
  }
}

Atas ialah kandungan terperinci Bagaimana untuk Memanjangkan Objek Ralat untuk Pengecualian Tersuai 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