Latihan 1: Error Handling yang Baik — Clean Code

Latihan 1 dari materi Error Handling yang Baik di Clean Code — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Fungsi divide di bawah punya silent catch yang mengembalikan null, pemanggil tidak tahu ada error dan harus cek null di mana-mana.

Refactor dengan pola yang benar:

  1. Buat class DivisionByZeroError extends Error dengan pesan "Tidak bisa membagi dengan nol".
  2. Fungsi divide(a, b), jika b === 0, throw new DivisionByZeroError(). Jika tidak, return a / b.
  3. Buat fungsi safeDivide(a, b) yang memanggil divide di dalam try/catch. Jika tertangkap DivisionByZeroError, kembalikan string "Error: Tidak bisa membagi dengan nol". Error lain tetap di-rethrow.

Uji dengan tiga pemanggilan:

Hint