CommencerCommencer gratuitement

Lever des erreurs avec de mauvais arguments

Si un utilisateur fournit une mauvaise entrée à une fonction, la meilleure chose à faire est de lever une erreur pour l’en informer. Deux règles s’appliquent :

  1. Levez le message d’erreur dès que vous constatez un problème (généralement au début de la fonction).
  2. Rédigez un message d’erreur facile à comprendre.

Vous pouvez utiliser les fonctions assert_*() du package assertive pour vérifier les entrées et lever des erreurs lorsqu’elles échouent.

Cet exercice fait partie du cours

Introduction à l’écriture de fonctions en R

Afficher le cours

Instructions

  • Ajoutez une ligne dans le corps de calc_harmonic_mean() pour vérifier que x est numérique.
  • Observez ce qui se passe lorsque vous passez un argument de type caractère à calc_harmonic_mean().

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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)
Modifier et exécuter le code