Generarea erorilor pentru argumente incorecte
Dacă un utilizator transmite o valoare incorectă unei funcții, cel mai bun lucru pe care îl poți face este să generezi o eroare care să îl informeze. Există două reguli de urmat:
- Generează mesajul de eroare imediat ce identifici problema (de obicei la începutul funcției).
- Formulează mesajul de eroare cât mai clar și ușor de înțeles.
Poți folosi funcțiile assert_*() din assertive pentru a valida argumentele de intrare și a genera erori atunci când acestea nu îndeplinesc condițiile.
Acest exercițiu face parte din cursul
Introducere în scrierea funcțiilor în R
Instrucțiuni pentru exercițiu
- Adaugă o linie în corpul funcției
calc_harmonic_mean()pentru a verifica căxeste numeric. - Observă ce se întâmplă când transmiți un argument de tip caracter funcției
calc_harmonic_mean().
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)