Nothing
## ----setup--------------------------------------------------------------------
# load package
library("wrapr")
# user function
f <- function(i) { (1:10)[[i]] }
## ----unwrapped----------------------------------------------------------------
inputs = c(4,5,2,9,0,8)
tryCatch(
for(x in inputs) {
f(x)
},
error = function(e) { print(e) })
## ----writeBackVersion2--------------------------------------------------------
# wrap function with writeBack
df <- DebugFnW(as.name('lastError'), f)
## ----writeBackVersion3--------------------------------------------------------
# capture error (Note: tryCatch not needed for user code!)
tryCatch(
for(x in inputs) {
df(x)
},
error = function(e) { print(e) })
## ----writeBackVersion4--------------------------------------------------------
# examine error
str(lastError)
lastError$args
## ----writeBackVersion5--------------------------------------------------------
# redo call, perhaps debugging
tryCatch(
do.call(lastError$fn_name, lastError$args),
error = function(e) { print(e) })
# clean up
rm(list='lastError')
## ----FileVersion, eval=FALSE--------------------------------------------------
# saveDest <- paste0(tempfile('debug'),'.RDS')
# # wrap function with saveDeest
# df <- DebugFnW(saveDest,f)
# # capture error (Note: tryCatch not needed for user code!)
# tryCatch(
# for(x in inputs) {
# df(x)
# },
# error = function(e) { print(e) })
## ----FileVersion2, eval=FALSE-------------------------------------------------
# # load data
# lastError <- readRDS(saveDest)
# # examine error
# str(lastError)
# # redo call, perhaps debugging
# tryCatch(
# do.call(lastError$fn_name, lastError$args),
# error = function(e) { print(e) })
# # clean up
# file.remove(saveDest)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.