Bagaimana untuk Memanjangkan Objek Ralat untuk Pengecualian Tersuai dalam JavaScript?

Susan Sarandon
Lepaskan: 2024-10-23 22:07:02
asal
228 orang telah melayarinya

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';
  }
}
Salin selepas log masuk

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');
Salin selepas log masuk

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
  }
}
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan