[R] Errors and line numbers in scripts?
Is it possible to get R to report the line number of an error when a script is called with source()? I found the following post from 2009, but it's not clear to me if this ever made it into the release version: ws wrote: * Is there a way to have R return the line number in a script when it errors out? ** ** I call my script like: ** ** $ R --vanilla script.R output.txt ** ** I seem to remember a long discussion about this at some point, but I can't ** remember the outcome. ** ** * The current development version returns much more information about error locations. I don't know if it will handle this case (R doesn't get told the filename in case of input redirection, for example). Generally the goal is to report error lines during interactive use, batch use is assumed to already be debugged. Duncan Murdoch Thanks. - Elliot [[alternative HTML version deleted]] __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] Errors and line numbers in scripts?
On 12/05/2011 11:02 AM, Elliot Joel Bernstein wrote: Is it possible to get R to report the line number of an error when a script is called with source()? I found the following post from 2009, but it's not clear to me if this ever made it into the release version: It does so for parse errors. It doesn't record lines of statements at the top level of a script for run-time errors, but if you define a function in your script, and call it at a different line, and an error occurs internally, then R will know which line of the function triggered the error. If you use options(error=recover) you'll get a display something like this: source(c:/temp/test.R) Error in f(0) : an error in f Enter a frame number, or 0 to exit 1: source(c:/temp/test.R) 2: eval.with.vis(ei, envir) 3: eval.with.vis(expr, envir, enclos) 4: g() 5: test.R#6: f(0) The call to g() was in the test.R script but was not recorded. However, the function g contains a call to f(0), and that one was recorded as being at line 6 of the file. Duncan Murdoch Here's the test.R file I used: -- f - function(x) { stop(an error in f) } g - function() { f(0) } g() ws wrote: * Is there a way to have R return the line number in a script when it errors out? ** ** I call my script like: ** ** $ R --vanilla script.R output.txt ** ** I seem to remember a long discussion about this at some point, but I can't ** remember the outcome. ** ** * The current development version returns much more information about error locations. I don't know if it will handle this case (R doesn't get told the filename in case of input redirection, for example). Generally the goal is to report error lines during interactive use, batch use is assumed to already be debugged. Duncan Murdoch Thanks. - Elliot [[alternative HTML version deleted]] __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] Errors and line numbers in scripts?
ws wrote: Is there a way to have R return the line number in a script when it errors out? I call my script like: $ R --vanilla script.R output.txt I seem to remember a long discussion about this at some point, but I can't remember the outcome. The current development version returns much more information about error locations. I don't know if it will handle this case (R doesn't get told the filename in case of input redirection, for example). Generally the goal is to report error lines during interactive use, batch use is assumed to already be debugged. Duncan Murdoch __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
[R] Errors and line numbers in scripts?
Is there a way to have R return the line number in a script when it errors out? I call my script like: $ R --vanilla script.R output.txt I seem to remember a long discussion about this at some point, but I can't remember the outcome. Tx __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.