Try to execute a block (for a result) times
times, and return the first successful result.
Try to execute a block (for a result) times
times, and return the first successful result.
Otherwise, collect thrown exceptions and return their list (with max length = times
)
how many times we should try to execute the function
will be called before every try to call block
will be called on each failure (thrown exception), use it to log messages for example