Hi,
is there a way to retrieve the line number of where en error occurred when
sourcing a file in a tryCatch statement? Is it stored somewhere accessible?
It is not found in the error object.
Consider the following code/output and note the difference in the traceback
between source (has line number) and sys.source (has no line number).
Thank you,
Renaud
########
# code
########
codefile <- tempfile()
write("# some comment
# some good lines
a <- 1
# a bad line
stop('an error')
# another good line
b <- 2
", file=codefile)
# with source() the line number is displayed
source(codefile)
traceback()
tryCatch(source(codefile), error= function(e){ str(e) })
# with sys.source() the line number is _not_ displayed
e <- new.env()
sys.source(codefile, e)
traceback()
sessionInfo()
#####
# output
#####
codefile <- tempfile()
write("# some comment
+ # some good lines
+ a <- 1
+ # a bad line
+ stop('an error')
+ # another good line
+ b <- 2
+ ", file=codefile)
# with source() the line number is displayed
source(codefile)
Error in eval(expr, envir, enclos) : an error
traceback()
5: stop("an error") at file46641af8754#5
4: eval(expr, envir, enclos)
3: eval(ei, envir)
2: withVisible(eval(ei, envir))
1: source(codefile)
tryCatch(source(codefile), error= function(e){ str(e) })
List of 2
$ message: chr "an error"
$ call : language eval(expr, envir, enclos)
- attr(*, "class")= chr [1:3] "simpleError" "error" "condition"
# with sys.source() the line number is _not_ displayed
e <- new.env()
sys.source(codefile, e)
Error in eval(expr, envir, enclos) : an error
traceback()
4: stop("an error")
3: eval(expr, envir, enclos)
2: eval(i, envir)
1: sys.source(codefile, e)
sessionInfo()
R version 2.15.3 (2013-03-01)
Platform: i686-pc-linux-gnu (32-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=C LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
[[alternative HTML version deleted]]
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel