DebugPrintFn {wrapr} | R Documentation |
Capture arguments of exception throwing function call for later debugging.
Description
Run fn and print result, save arguments on failure. Use on systems like ggplot()
where some calculation is delayed until print()
.
Please see: vignette("DebugFnW", package="wrapr")
.
Usage
DebugPrintFn(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
DebugPrintFn(saveDest, f, 5)
# now re-run
# capture error on incorrect run
tryCatch(
DebugPrintFn(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)
# clean up
file.remove(saveDest)
[Package wrapr version 2.1.0 Index]