Re: [R] getting informative error messages

From: Spencer Graves <spencer.graves_at_pdf.com>
Date: Tue, 08 May 2007 07:40:25 -0700

Hi, Tony:

      Are you familiar with the 'debug' command? I agree that more informative error messages and 'traceback' would be nice, but I've found the 'debug' facility quite useful. [I even sometimes prepare a shell of a function 'fn', then say debug(fn) and fn(), and complete writing the function in its native environment where I can more easily check what each step does.] I've heard that 'debug' does not work will with S4 class generics, but I have not so far had to deal with that. {There is also a 'debug' package, which is completely separate from the debug command in the 'base' package. I've heard that it has more extensive capabilities, but I've never used it.}

      I suspect you may already know 'debug', but for those who don't, I think it's worth noting its utility for this kind of thing.

      Hope this helps. 
      Spencer Graves

Tony Plate wrote:
> Certain errors seem to generate messages that are less informative than
> most -- they just tell you which function an error happened in, but
> don't indicate which line or expression the error occurred in.
>
> Here's a toy example:
>
> > f <- function(x) {a <- 1; y <- x[list(1:3)]; b <- 2; return(y)}
> > options(error=NULL)
> > f(1:3)
> Error in f(1:3) : invalid subscript type
> > traceback()
> 1: f(1:3)
> >
>
> In this function, it's clear that the error is in subscripting 'x', but
> it's not always so immediately obvious in lengthier functions.
>
> Is there anything I can do to get a more informative error message in
> this type of situation? I couldn't find any help in the section
> "Debugging R Code" in "R-exts" (or anything at all relevant in "R-intro").
>
> (Different values for options(error=...) and different formatting of the
> function made no difference.)
>
> -- Tony Plate
>
> > sessionInfo()
> R version 2.5.0 (2007-04-23)
> i386-pc-mingw32
>
> locale:
> LC_COLLATE=English_United States.1252;LC_CTYPE=English_United
> States.1252;LC_MONETARY=English_United
> States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252
>
> attached base packages:
> [1] "stats" "graphics" "grDevices" "utils" "datasets" "methods"
> [7] "base"
>
> other attached packages:
> tap.misc
> "1.0"
> >
>
> ______________________________________________
> R-help_at_stat.math.ethz.ch 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_at_stat.math.ethz.ch 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. Received on Tue 08 May 2007 - 14:54:41 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 08 May 2007 - 15:31:52 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.