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