Promote all errors to rlang errors
with_abort(expr, classes = "error")
expr |
An expression run in a context where errors are promoted to rlang errors. |
classes |
Character vector of condition classes that should be promoted to rlang errors. |
with_abort() installs a calling handler for errors and
rethrows non-rlang errors with abort(). However, error handlers
installed within with_abort() have priority. For this reason,
you should use tryCatch() and exiting handlers outside
with_abort() rather than inside.
# with_abort() automatically casts simple errors thrown by stop()
# to rlang errors. It is is handy for rethrowing low level
# errors. The backtraces are then segmented between the low level
# and high level contexts.
f <- function() g()
g <- function() stop("Low level error")
high_level <- function() {
with_handlers(
with_abort(f()),
error = ~ abort("High level error", parent = .)
)
}Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.