Vyvolávání chyb při špatných argumentech
Pokud uživatel předá funkci neplatný vstup, nejlepší řešení je vyvolat chybu s jasným vysvětlením. Platí přitom dvě pravidla:
- Chybu vyvolej hned, jakmile zjistíš problém (obvykle na začátku funkce).
- Chybová zpráva musí být srozumitelná.
Ke kontrole vstupů a vyvolání chyb při jejich selhání můžeš použít funkce assert_*() z balíčku assertive.
Toto cvičení je součástí kurzu
Introduction to Writing Functions in R
Pokyny k cvičení
- Přidej do těla funkce
calc_harmonic_mean()řádek, který ověří, žexje číslo. - Podívej se, co se stane, když funkci
calc_harmonic_mean()předáš řetězcový argument.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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)