IniziaInizia gratis

Generare errori con argomenti non validi

Se un utente fornisce un input non valido a una funzione, la scelta migliore è generare un errore per informarlo. Le due regole sono:

  1. Genera il messaggio di errore non appena ti accorgi che c'è un problema (di solito all'inizio della funzione).
  2. Rendi il messaggio di errore facile da capire.

Puoi usare le funzioni assert_*() di assertive per controllare gli input e generare errori quando non superano i controlli.

Questo esercizio fa parte del corso

Introduzione alla scrittura di funzioni in R

Visualizza il corso

Istruzioni dell'esercizio

  • Aggiungi una riga al corpo di calc_harmonic_mean() per verificare che x sia numerico.
  • Guarda cosa succede quando passi un argomento di tipo character a calc_harmonic_mean().

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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)
Modifica ed esegui il codice