Aan de slagBegin gratis

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

Bekijk cursus

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().

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan 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