JavaScript - Kesalahan Pribadi: Panduan untuk Pemula
Halo sana, para ahli JavaScript masa depan! Hari ini, kita akan memulai perjalanan menarik ke dunia kesalahan pribadi di JavaScript. Jangan khawatir jika Anda baru dalam pemrograman - saya akan menjadi panduan teman baik Anda, memecahkan konsep kompleks menjadi bagian kecil, mudah untuk dimakannya. Jadi, ambil minuman favorit Anda, nyamanlah, dan mari kita masuk ke dalam!
Kelas Kesalahan: Teman Baru Anda
Sebelum kita mulai membuat kesalahan pribadi kita sendiri, mari kenal dulu kelas Kesalahan bawaan di JavaScript. P想象它为构建错误处理杰作的基础。
Kelas Kesalahan seperti template untuk membuat objek kesalahan. Ketika ada yang salah dalam kode Anda, JavaScript menggunakan kelas ini untuk memberikan Anda informasi tentang apa yang terjadi. Mari kita lihat contoh sederhana:
try {
throw new Error("Oops! Ada yang salah!");
} catch (error) {
console.log(error.message);
}
Dalam contoh ini, kita sengaja melempar kesalahan menggunakan kata kunci throw
dan kelas Error
. Blok catch
kemudian menangkap kesalahan ini dan mencatat pesannya ke konsol.
Ketika Anda menjalankan kode ini, Anda akan melihat:
Oops! Ada yang salah!
Lihat betapa mudah itu? Kelas Kesalahan memberikan kita cara untuk membuat dan menangani kesalahan dalam kode kita. Tetapi, apa bila kita ingin membuat jenis kesalahan yang lebih spesifik? Itu adalah tempat kesalahan pribadi memasuki!
Membuat Kesalahan Pribadi Menggunakan Instansi Kelas Kesalahan
Sekarang kita mengerti kelas Kesalahan dasar, mari buat kesalahan pribadi pertama kita. Kita akan mulai dengan metode paling sederhana: menggunakan instansi kelas Kesalahan.
function bagi(a, b) {
if (b === 0) {
throw new Error("DivisionByZeroError: Tidak dapat membagi dengan nol!");
}
return a / b;
}
try {
console.log(bagi(10, 0));
} catch (error) {
console.log(error.message);
}
Dalam contoh ini, kita membuat fungsi bagi
yang melempar kesalahan pribadi ketika seseorang mencoba membagi dengan nol. Ketika kita menjalankan kode ini, kita akan melihat:
DivisionByZeroError: Tidak dapat membagi dengan nol!
Metode ini sederhana dan efektif, tetapi itu tidak memungkinkan kita untuk membuat jenis kesalahan pribadi yang benar-benar khusus. Mari kita jelajahi beberapa metode yang lebih tingkat tinggi!
Membuat Kesalahan Pribadi Menggunakan Konstruktor Fungsi
Metode lain untuk membuat kesalahan pribadi adalah dengan menggunakan konstruktor fungsi. Metode ini memberikan kita fleksibilitas dalam mendefinisikan jenis kesalahan kita.
function CustomError(message) {
this.name = "CustomError";
this.message = message || "Ada kesalahan pribadi yang terjadi";
this.stack = (new Error()).stack;
}
CustomError.prototype = Object.create(Error.prototype);
CustomError.prototype.constructor = CustomError;
try {
throw new CustomError("Ini adalah kesalahan pribadi saya!");
} catch (error) {
console.log(error.name + ": " + error.message);
}
Ketika kita menjalankan kode ini, kita akan melihat:
CustomError: Ini adalah kesalahan pribadi saya!
Metode ini memungkinkan kita untuk membuat jenis kesalahan pribadi baru dengan nama dan pesan defaultnya sendiri. Itu seperti membuat spesies kesalahan baru!
Membuat Kesalahan Pribadi dengan Mengembangkan Kelas Kesalahan
Untuk trik terakhir kita, kita akan menggunakan sintaks kelas ES6 untuk mengembangkan kelas Kesalahan. Ini adalah metode favorit saya karena itu bersih, intuitif, dan kuat.
class ValidationError extends Error {
constructor(message) {
super(message);
this.name = "ValidationError";
this.date = new Date();
}
}
function validateUser(user) {
if (!user.username) {
throw new ValidationError("Username diperlukan");
}
if (!user.email) {
throw new ValidationError("Email diperlukan");
}
}
try {
validateUser({ username: "johndoe" });
} catch (error) {
if (error instanceof ValidationError) {
console.log(`${error.name}: ${error.message}`);
console.log(`Kesalahan terjadi pada: ${error.date}`);
} else {
console.log("Ada kesalahan yang tak diketahui");
}
}
Ketika kita menjalankan kode ini, kita akan melihat:
ValidationError: Email diperlukan
Kesalahan terjadi pada: [tanggal dan waktu saat ini]
Metode ini memungkinkan kita untuk membuat kesalahan pribadi kompleks dengan properti tambahan (seperti date
dalam contoh ini) dan metode jika diperlukan.
Penutup: Tabel Metode
Untuk mengingat metode yang kita pelajari, ini adalah tabel praktis:
Metode | Keuntungan | Kerugian |
---|---|---|
Menggunakan Instansi Kesalahan | Sederhana, mudah diterapkan | Kustomisasi terbatas |
Konstruktor Fungsi | Fleksibel, memungkinkan properti khusus | Sintaks lebih kompleks |
Mengembangkan Kelas Kesalahan | Sintaks bersih, kustomisasi penuh | Memerlukan pemahaman kelas ES6 |
Ingat, tidak ada solusi yang cocok untuk semua. Metode terbaik tergantung pada kebutuhan khusus Anda dan kompleksitas proyek Anda.
Kesalahan pribadi adalah seperti senjata rahasia di senjata JavaScript Anda. Mereka membantu Anda menangkap dan menangani masalah dalam kode Anda lebih efektif, membuat program Anda lebih kuat dan mudah didebug. Jadi, majulah, para pemula, dan semoga kesalahan Anda selalu pribadi dan debugging Anda cepat!
Credits: Image by storyset