ComenzarEmpieza gratis

Lanzar errores con argumentos incorrectos

Si un usuario proporciona una entrada incorrecta a una función, lo mejor es lanzar un error para avisarle. Las dos reglas son:

  1. Lanza el mensaje de error en cuanto detectes el problema (normalmente al principio de la función).
  2. Haz que el mensaje de error sea fácil de entender.

Puedes usar las funciones assert_*() de assertive para comprobar las entradas y lanzar errores cuando fallen.

Este ejercicio forma parte del curso

Introducción a la escritura de funciones en R

Ver curso

Instrucciones del ejercicio

  • Añade una línea al cuerpo de calc_harmonic_mean() para asegurar que x es numérico.
  • Observa qué ocurre cuando pasas un argumento de tipo carácter a calc_harmonic_mean().

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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)
Editar y ejecutar código