[Rd] Capturing all warnings (with messages)
Jon Clayden
j.clayden at ucl.ac.uk
Wed Feb 4 13:59:59 CET 2009
Dear all,
For an open-source project that I'm working on (1), which uses R for
all its heavy lifting but includes a wrapper shell script, I was
hoping to find a way to capture all warnings (and, in fact, errors
too), and handle them in my own way. I realise I can do this for a
single expression using something like:
> f <- function(w) print(w$message)
> withCallingHandlers(warning("Test"),warning=f)
[1] "Test"
Warning message:
In withCallingHandlers(warning("Test"), warning = f) : Test
But I would like to capture all warnings, globally. The
"warning.expression" option doesn't seem to allow an argument, and I
can't seem to use "last.warning" to get at the message either:
> g <- function() print(last.warning$message)
> options(warning.expression=quote(g()))
> warning("Test2")
NULL
Could anyone tell me whether there's a way to do this, please? An old
thread on this topic seemed to go unresolved (2), and I've skimmed
RNEWS and I don't see anything about this since then.
> sessionInfo()
R version 2.8.1 (2008-12-22)
i386-apple-darwin8.11.1
locale:
en_GB.UTF-8/en_US.UTF-8/C/C/en_GB.UTF-8/en_GB.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets splines methods
[8] base
other attached packages:
[1] tractor.session_1.0.0 tractor.base_1.0.3 tractor.nt_1.0.2
loaded via a namespace (and not attached):
[1] tools_2.8.1
Regards,
Jon
(1) http://code.google.com/p/tractor/
(2) http://finzi.psych.upenn.edu/R/Rhelp02/archive/61872.html
--
Jonathan D. Clayden, Ph.D.
Research Fellow
Radiology and Physics Unit
UCL Institute of Child Health
30 Guilford Street
LONDON WC1N 1EH
United Kingdom
t | +44 (0)20 7905 2708
f | +44 (0)20 7905 2358
w | www.homepages.ucl.ac.uk/~sejjjd2/
More information about the R-devel
mailing list