JavaScript Extended #26: Error Handling Lanjutan & Custom Error

1. Kenapa Error Handling Penting?

Error handling penting agar aplikasi tidak langsung berhenti ketika terjadi masalah. Dengan penanganan error yang baik, aplikasi bisa memberi pesan yang lebih jelas dan tetap stabil.

2. try...catch

try {
  JSON.parse("data tidak valid");
} catch (error) {
  console.error("Terjadi error:", error.message);
}

3. throw

Kita bisa melempar error sendiri menggunakan throw.

const age = 15;

if (age < 17) {
  throw new Error("Umur belum mencukupi");
}

4. Custom Error

Untuk kasus yang lebih spesifik, kita bisa membuat custom error class.

class ValidationError extends Error {
  constructor(message) {
    super(message);
    this.name = "ValidationError";
  }
}

throw new ValidationError("Data tidak valid");

5. Contoh Validasi

function validateUsername(username) {
  if (!username) {
    throw new ValidationError("Username wajib diisi");
  }

  if (username.length < 3) {
    throw new ValidationError("Username minimal 3 karakter");
  }
}

6. finally

finally akan selalu dijalankan, baik terjadi error maupun tidak.

try {
  console.log("Proses jalan");
} catch (error) {
  console.error(error);
} finally {
  console.log("Proses selesai");
}

7. Ringkasan

  • Gunakan try...catch untuk menangkap error
  • Gunakan throw untuk membuat error manual
  • Custom error membuat kode lebih terstruktur
  • finally dipakai untuk cleanup process

Di part berikutnya, kita akan membahas regex dasar di JavaScript.