DebugFnE {wrapr} | R Documentation |
Capture arguments and environment of exception throwing function call for later debugging.
Description
Run fn, save arguments, and environment on failure.
Please see: vignette("DebugFnW", package="wrapr")
.
Usage
DebugFnE(saveDest, fn, ...)
Arguments
saveDest |
where to write captured state (determined by type): NULL random temp file, character temp file, name globalenv() variable, and function triggers callback. |
fn |
function to call |
... |
arguments for fn |
Value
fn(...) normally, but if fn(...) throws an exception save to saveDest RDS of list r such that do.call(r$fn,r$args) repeats the call to fn with args.
See Also
dump.frames
, DebugFn
, DebugFnW
, DebugFnWE
, DebugPrintFn
, DebugFnE
, DebugPrintFnE
Examples
saveDest <- paste0(tempfile('debug'),'.RDS')
f <- function(i) { (1:10)[[i]] }
# correct run
DebugFnE(saveDest, f, 5)
# now re-run
# capture error on incorrect run
tryCatch(
DebugFnE(saveDest, f, 12),
error = function(e) { print(e) })
# examine details
situation <- readRDS(saveDest)
str(situation)
# fix and re-run
situation$args[[1]] <- 6
do.call(situation$fn, situation$args, envir=situation$env)
# clean up
file.remove(saveDest)
[Package wrapr version 2.1.0 Index]