Mulai sekarangMulai gratis

Melempar error untuk argumen yang buruk

Jika pengguna memberikan masukan yang tidak valid ke suatu fungsi, langkah terbaik adalah melempar error untuk memberi tahu mereka. Dua aturannya adalah:

  1. Lempar pesan error segera setelah Anda menyadari ada masalah (biasanya di awal fungsi).
  2. Buat pesan error mudah dipahami.

Anda dapat menggunakan fungsi assert_*() dari assertive untuk memeriksa masukan dan melempar error ketika pemeriksaan gagal.

Latihan ini merupakan bagian dari kursus

Pengantar Penulisan Fungsi di R

Lihat Kursus

Instruksi latihan

  • Tambahkan satu baris ke badan calc_harmonic_mean() untuk memastikan bahwa x bertipe numerik.
  • Perhatikan apa yang terjadi ketika Anda meneruskan argumen karakter ke calc_harmonic_mean().

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

calc_harmonic_mean <- function(x, na.rm = FALSE) {
  # Assert that x is numeric
  ___
  x %>%
    get_reciprocal() %>%
    mean(na.rm = na.rm) %>%
    get_reciprocal()
}

# See what happens when you pass it strings
calc_harmonic_mean(std_and_poor500$sector)
Edit dan Jalankan Kode