LoslegenKostenlos loslegen

Fehler bei ungültigen Argumenten auslösen

Wenn jemand einer Funktion eine ungeeignete Eingabe übergibt, ist es am besten, einen Fehler auszulösen und darauf hinzuweisen. Die zwei Regeln sind:

  1. Gib die Fehlermeldung aus, sobald du bemerkst, dass es ein Problem gibt (typischerweise am Anfang der Funktion).
  2. Formuliere die Fehlermeldung leicht verständlich.

Du kannst die assert_*()-Funktionen aus assertive verwenden, um Eingaben zu prüfen und bei Fehlern eine Exception auszulösen.

Diese Übung ist Teil des Kurses

Einführung in das Schreiben von Funktionen in R

Kurs anzeigen

Anleitung zur Übung

  • Füge in den Rumpf von calc_harmonic_mean() eine Zeile ein, die sicherstellt, dass x numerisch ist.
  • Schau dir an, was passiert, wenn du ein Zeichen-Argument an calc_harmonic_mean() übergibst.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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)
Code bearbeiten und ausführen