Re: [R] Testing for warning inside functions

From: Peter Wolf <s-plus_at_wiwi.uni-bielefeld.de>
Date: Wed 18 May 2005 - 20:03:26 EST

Prof Brian Ripley wrote:

> 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").

options(warn=1) prints the message immediately, but I cannot store it in a variable to analyse it or to show the message it in a message box, for example.

> We don't have a general warnings handler mechanism, but you can make
> use of condition objects.

Thank you, I will have a look at 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.)

link to the old mail: R-help archive Jan - June 2000:

>
>
>> 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
>
>



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 20:31:42 2005

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