Re: [R] Testing for warning inside functions

From: Prof Brian Ripley <ripley_at_stats.ox.ac.uk>
Date: Wed 18 May 2005 - 19:29:02 EST

On Wed, 18 May 2005, Peter Wolf wrote:

> I am looking for a way to get a warning message
> immediately after an evaluation within a function.
> To get error messages you can use geterrmessage().

Well, only in an error handler, as an error normally throws you out of the function. (That is the point of geterrmessage(), to enable error handlers to be written.)

To print the message immediately, look up options("warn"). We don't have a general warnings handler mechanism, but you can make use of condition objects.

> But I found no function that allows me to check for
> warnings.
>
> Five years ago this questions has been posted
> but I haven't found any answer.

What exactly is `this question'? I see several assertions but no question. (It would have been helpful to give an exact reference to the archives.)

> Thanks for any help.
>
> Peter Wolf
>
>
> ------------
>
> For illustration purpose a simple example follows:
> you can get warnings after an error occured or after
> exiting from the function but not at once after
> "x<-matrix(1:3,2,2)":
>
>> options(warn=0)
>> f<-function(x){
> x<-matrix(1:3,2,2)
> print(0)
> warnings() # no warning is shown
> print(1)
> try({xxx})
> print(2)
> print(geterrmessage())
> print(3)
> warnings()
> print(4)
> }
>> f()
> [1] 0
> [1] 1
> Fehler in try({ : Objekt "xxx" nicht gefunden
> Zusätzlich: Warnmeldung:
> Datenlänge [3] ist kein Teiler oder Vielfaches der Anzahl der Zeilen [2] in
> matrix
> [1] 2
> [1] "Fehler in try({ : Objekt \"xxx\" nicht gefunden\n"
> [1] 3
> Warning message:
> Datenlänge [3] ist kein Teiler oder Vielfaches der Anzahl der Zeilen [2] in
> matrix
> [1] 4

-- 
Brian D. Ripley,                  ripley@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________ R-help@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

Received on Wed May 18 19:35:02 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:31:50 EST