try_get: Try to evaluate an expression a set number of times before...

View source: R/utils.R

try_getR Documentation

Try to evaluate an expression a set number of times before failing

Description

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.

Usage

try_get(expr, max_tries = 5, error_message = "", retry_message = "Retrying...")

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) {
    message("value is larger than 0.5")
    return(value)
  } else {
    stop("value is smaller than 0.5")
  }
}
f_evaluated <- try_get(expr = f())
print(f_evaluated)


zh542370159/SCP documentation built on Nov. 22, 2023, 2:34 a.m.