Kom igångKom igång gratis

Kasta fel vid ogiltiga argument

Om en användare skickar in ett ogiltigt värde till en funktion är det bästa du kan göra att kasta ett fel som förklarar vad som gick fel. Två grundregler gäller:

  1. Kasta felmeddelandet så snart du upptäcker problemet – vanligtvis i början av funktionen.
  2. Se till att felmeddelandet är lätt att förstå.

Du kan använda funktionerna assert_*() från assertive för att kontrollera indata och kasta fel när de inte uppfyller kraven.

Den här övningen är en del av kursen

Introduktion till att skriva funktioner i R

Visa kurs

Övningsinstruktioner

  • Lägg till en rad i kroppen av calc_harmonic_mean() som kontrollerar att x är numeriskt.
  • Se vad som händer när du skickar ett teckenargument till calc_harmonic_mean().

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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)
Redigera och kör kod