The function is used as a fail-safe if your R code sometimes works and sometimes doesn't, usually because it depends on a resource that may be temporarily unavailable. It tries to evaluate the expression `max_tries` times. If all the attempts fail, it throws an error; if not, the evaluated expression is returned.
Arguments
- expr
The expression to be evaluated.
- max_tries
The maximum number of attempts to evaluate the expression before giving up. Default is set to 5.
- error_message
a string, additional custom error message you would like to be displayed when an error occurs.
- retry_message
a string, a message displayed when a new try to evaluate the expression would be attempted.
Value
This function returns the evaluated expression if successful, otherwise it throws an error if all attempts are unsuccessful.
Examples
f <- function() {
value <- runif(1, min = 0, max = 1)
if (value > 0.5) {
log_message("value is larger than 0.5")
return(value)
} else {
log_message(
"value is smaller than 0.5",
message_type = "error"
)
}
}
f_evaluated <- try_get(expr = f())
#> ℹ [2025-07-06 07:15:21] Value is larger than 0.5
print(f_evaluated)
#> [1] 0.8738569