Melanjutkan Ralat dalam JavaScript: Panduan Komprehensif
Pengendalian ralat merupakan bahagian penting dalam mana-mana bahasa pengaturcaraan. Dalam JavaScript, Ralat ialah kelas asas untuk semua ralat. Walau bagaimanapun, kadangkala kita mungkin ingin mencipta jenis ralat tersuai kita sendiri yang diwarisi daripada kelas Ralat asas tetapi menyediakan fungsi atau sifat tambahan.
Melanjutkan Ralat Menggunakan ES6
Dengan pengenalan ES6, memanjangkan Ralat menjadi lebih mudah. Kini kita boleh menggunakan kata kunci extends untuk mencipta kelas baharu yang diwarisi daripada Ralat:
class MyError extends Error { constructor(message) { super(message); this.name = 'MyError'; } }
Kelas ini memanjangkan kelas Ralat dan menambah sifat nama tersuai. Kami kini boleh membuang kejadian MyError seperti ini:
throw new MyError('Something went wrong');
Apabila kami menangkap dan mengendalikan tika MyError, kami boleh mengakses sifat nama tersuainya, yang akan membantu kami mengenal pasti jenis ralat:
try { // ... } catch (error) { if (error instanceof MyError) { console.error(`MyError: ${error.message}`); } else { console.error(`Unknown error: ${error.message}`); } }
Melanjutkan Ralat Menggunakan JavaScript Lama
Dalam JavaScript warisan, kami boleh melanjutkan Ralat menggunakan rantai prototaip:
function MyError(message) { this.message = message; } MyError.prototype = Object.create(Error.prototype); MyError.prototype.constructor = MyError; MyError.prototype.name = 'MyError';
Pendekatan ini lebih bertele-tele , tetapi ia juga berfungsi dalam versi lama JavaScript yang tidak menyokong ES6.
Kesimpulan
Melanjutkan Ralat dalam JavaScript membolehkan kami mencipta jenis ralat tersuai yang boleh digunakan untuk memberikan maklumat yang lebih terperinci tentang ralat dan untuk mengendalikannya secara khusus. Sama ada anda menggunakan ES6 atau JavaScript lama, terdapat cara yang sesuai untuk melanjutkan Ralat untuk memenuhi keperluan anda.
Atas ialah kandungan terperinci Cara Memanjangkan Ralat dalam JavaScript untuk Pengendalian Ralat Tersuai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!