DebugPrintFnE | R Documentation |
Run fn and print result, save arguments and environment on failure. Use on systems like ggplot()
where some calculation is delayed until print().
Please see: vignette("DebugFnW", package="wrapr")
.
DebugPrintFnE(saveDest, fn, ...)
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 |
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.
dump.frames
, DebugFn
, DebugFnW
, DebugFnWE
, DebugPrintFn
, DebugFnE
, DebugPrintFnE
saveDest <- paste0(tempfile('debug'),'.RDS')
f <- function(i) { (1:10)[[i]] }
# correct run
DebugPrintFnE(saveDest, f, 5)
# now re-run
# capture error on incorrect run
tryCatch(
DebugPrintFnE(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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.