Re: [R] getting informative error messages

From: Spencer Graves <spencer.graves_at_pdf.com>
Date: Tue, 08 May 2007 10:58:37 -0700

Dear Prof. Ripley:

  1. I very much appreciate your contributions to the R project.
  2. Whether with release 2.4.0 or earlier, I noticed that 'traceback()' had become less informative. This loss was more than offset when I learned to use the 'debug' function in the 'base' package: It increased my productivity so much that it helped complete my transition from S-Plus: The last few times I had to use S-Plus, I ported them to R, got the code working using 'debug', then ported the results back to S-Plus. That was quicker for me than debugging directly in S-Plus.
  3. Thanks again for your many contributions to the R project and to my education more generally.
      Best Wishes,
      Spencer Graves

Prof Brian Ripley wrote:
> It is not clear to me what you want here.
>
> Errors are tagged by a 'call', and f(1:3) is the innermost 'call' (special
> primitives do not set a context and so do not count if you consider '['
> to be a function).
>
> The message could tell you what the type was, but it does not and we have
> lost the pool of active contributors we once had to submit tested patches
> for things like that.
>
>
> On Mon, 7 May 2007, 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 - 18:05:50 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 - 18:31:35 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.