MulaiMulai sekarang secara 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 adalah bagian dari kursus

Pengantar Penulisan Fungsi di R

Lihat Kursus

Petunjuk 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 praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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