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.

divide di editor mengembalikan null saat membagi dengan nol, jadi pemanggilnya gak tahu ada yang salah. Ubah jadi error yang terdengar:

  1. Buat class DivisionByZeroError extends Error. Di constructor-nya panggil super('Tidak bisa membagi dengan nol') dan isi this.name = 'DivisionByZeroError'.
  2. divide(a, b): kalau b === 0, throw new DivisionByZeroError(). Selain itu return a / b. Hapus try/catch dan return null yang lama.
  3. safeDivide(a, b): panggil divide(a, b) di dalam try/catch. Kalau error-nya instanceof DivisionByZeroError, kembalikan teks 'Error: ' + e.message. Error lain dilempar ulang dengan throw e. Jangan mencetak di dalam safeDivide: tiga console.log di bawah yang mencetak.

Tiga console.log di bawah tetap ada. Output-nya harus:

5
Error: Tidak bisa membagi dengan nol
5

divide(1, 0) juga diuji sendiri: error yang keluar harus bernama DivisionByZeroError dengan pesan Tidak bisa membagi dengan nol, dan harus instanceof DivisionByZeroError.

Hint