开始使用免费开始使用

对不合适的参数抛出错误

如果用户向函数提供了不合适的输入,最佳做法是抛出错误并告知他们。遵循两条规则:

  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)
编辑并运行代码