Fehler abfangen

Nehmen wir an, Sie schreiben eine Funktion foo(), die eine andere Funktion, bar() aufruft. Nehmen wir weiter an, bar() würde manchmal einen Fehler auslösen, Sie möchten aber nicht, dass foo() in so einem Fall abbricht. Vielleicht versucht bar() beispielsweise, eine Datei zu öffnen, und zeigt brav einen Fehler an, sollte das fehlschlagen. Wenn bar() die Datei nicht öffnen kann, möchten Sie vielleicht, dass foo() stattdessen irgendetwas anderes macht.

Eine einfache Möglichkeit, so etwas umzusetzen, steht mit der Funktion try() zur Verfügung. Diese Funktion kaschiert einiges der Komplexität von Rs Umgang mit Ausnahmen. Man könnte try() beispielsweise so einsetzen:

> Ergebnis <- try({x <- 1}, silent = TRUE) > Ergebnis [1] 1 > > Ergebnis ...

Get R in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.