Aan de slagGa gratis aan de slag

Fouten genereren bij ongeldige argumenten

Als een gebruiker een ongeldige invoer aan een functie geeft, kun je het beste een fout genereren om dat duidelijk te maken. De twee regels zijn:

  1. Gooi de foutmelding zodra je merkt dat er een probleem is (meestal aan het begin van de functie).
  2. Maak de foutmelding makkelijk te begrijpen.

Je kunt de assert_*()-functies uit assertive gebruiken om invoer te controleren en fouten te gooien als die controles mislukken.

Deze oefening maakt deel uit van de cursus

Introductie tot functies schrijven in R

Cursus bekijken

Oefeninstructies

  • Voeg een regel toe aan de body van calc_harmonic_mean() om te controleren dat x numeriek is.
  • Kijk wat er gebeurt als je een character-argument doorgeeft aan calc_harmonic_mean().

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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)
Code bewerken en uitvoeren