Add backtrace from error handler
entrace()
interrupts an error throw to add an rlang backtrace to the error. The error throw is
immediately resumed. cnd_entrace()
adds a backtrace to a
condition object, without any other effect. Both functions should
be called directly from an error handler.
Set the error
global option to rlang::entrace
to
transform base errors to rlang errors. These enriched errors
include a backtrace. The RProfile is a good place to set the
handler. See rlang_backtrace_on_error
for details.
entrace()
also works as a calling handler, though it
is often more practical to use the higher-level function
with_abort()
.
entrace(cnd, ..., top = NULL, bottom = NULL) cnd_entrace(cnd, ..., top = NULL, bottom = NULL)
cnd |
When |
... |
Unused. These dots are for future extensions. |
top |
The first frame environment to be included in the backtrace. This becomes the top of the backtrace tree and represents the oldest call in the backtrace. This is needed in particular when you call |
bottom |
The last frame environment to be included in the backtrace. This becomes the rightmost leaf of the backtrace tree and represents the youngest call in the backtrace. Set this when you would like to capture a backtrace without the capture context. Can also be an integer that will be passed to |
with_abort()
to promote conditions to rlang errors.
cnd_entrace()
to manually add a backtrace to a condition.
if (FALSE) { # Not run # Set the error handler in your RProfile like this: if (requireNamespace("rlang", quietly = TRUE)) { options(error = rlang::entrace) } }
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.