開始使用免費開始

以錯誤訊息處理不當引數

如果使用者提供了不當的輸入,最好的作法是拋出錯誤並說明原因。有兩個原則:

  1. 一發現有問題就立刻拋出錯誤訊息(通常在函式一開始)。
  2. 讓錯誤訊息容易理解。

你可以使用 assertive 中的 assert_*() 函式來檢查輸入,並在檢查失敗時拋出錯誤。

本練習屬於課程

R 函式撰寫入門

檢視課程

練習說明

  • calc_harmonic_mean() 的本體中新增一行程式碼,斷言 x 為數值。
  • 觀察當你將字元型別的引數傳給 calc_harmonic_mean() 時,會發生什麼事。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

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)
編輯並執行程式碼