[R] on abort error, always show call stack?

Matt Shotwell shotwelm at musc.edu
Sun Aug 22 18:32:26 CEST 2010


How about this:

test <- function(x) log(x)
tryCatch({
    #Code that will error
    test("a")
}, finally = {
    sink(stderr())
    traceback()
    sink()
})


If you are running non-interactively, invoke R with the --interactive
flag to force it. Saving the code above to test.R, you can see the
effect with

$ R --interactive < test.R 1> test.out 2> test.err

This seems reasonable, but maybe others will say if I'm missing
something more automagic.

-Matt


On Sun, 2010-08-22 at 11:58 -0400, ivo welch wrote:
> yes, thank you.  is it possible to have it invoked to STDERR
> automatically on a program abort?
> 
> /iaw
> 
> On Sun, Aug 22, 2010 at 11:50 AM, Matt Shotwell <shotwelm at musc.edu> wrote:
> > On Sun, 2010-08-22 at 11:41 -0400, ivo welch wrote:
> >> Dear R Wizards---is it possible to get R to show its current call
> >> stack (sys.calls()) upon an error abort?  I don't use ESS for
> >> execution, and it is often not obvious how to locate how I triggered
> >> an error in an R internal function.  Seeing the call stack would make
> >> this easier.  (right now, I sprinkle "cat" statements everywhere, just
> >> to locate the line where the error appears.)  Of course, I would
> >> really love to see the line in my program that triggered this, but I
> >> have asked this before, and I understand this is too difficult to get
> >> into the R language.
> >
> > The traceback() function will print out the call stack after an error.
> > However, you may find the debug() family of functions more useful for
> > debugging. Also see the browser() function.
> >
> > -Matt
> >
> >>
> >> regards,
> >>
> >> /iaw
> >>
> >> ----
> >> Ivo Welch (ivo.welch at brown.edu, ivo.welch at gmail.com)
> >>
> >> ______________________________________________
> >> R-help at 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.
> >
> > --
> > Matthew S. Shotwell
> > Graduate Student
> > Division of Biostatistics and Epidemiology
> > Medical University of South Carolina
> >
> >

-- 
Matthew S. Shotwell
Graduate Student 
Division of Biostatistics and Epidemiology
Medical University of South Carolina



More information about the R-help mailing list