Zgłaszanie błędów przy nieprawidłowych argumentach
Jeśli użytkownik przekaże do funkcji nieprawidłowe dane wejściowe, najlepszym rozwiązaniem jest zgłoszenie błędu z odpowiednim komunikatem. Obowiązują dwie zasady:
- Zgłoś błąd od razu, gdy tylko zauważysz problem (zazwyczaj na początku funkcji).
- Zadbaj o to, by komunikat błędu był zrozumiały.
Możesz użyć funkcji assert_*() z pakietu assertive, aby sprawdzać dane wejściowe i zgłaszać błędy, gdy nie spełniają wymagań.
To ćwiczenie jest częścią kursu
Wprowadzenie do pisania funkcji w R
Instrukcje do ćwiczenia
- Dodaj do ciała funkcji
calc_harmonic_mean()wiersz, który sprawdzi, czyxjest wartością numeryczną. - Sprawdź, co się stanie, gdy przekażesz do
calc_harmonic_mean()argument tekstowy.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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)