Skip to content

capturing warnings using capture.output

2 messages · Richard Cotton, William Dunlap

#
Messages sent to stderr() (including those from message, warning and stop)
are captured by type = "message". Note that this can be "unsafe" and should
only be used with care.

Capturing messages works as expected:

capture.output(message("!!!"), type = "message")
## [1] "!!!"

Capturing warnings doesn't seems to work:

capture.output(warning("!!!"), type = "message")
## character(0)
## Warning message:
## In eval(expr, envir, enclos) : !!!

Is the documentation wrong, or is this a bug, or am I doing doing silly?
#
When options("warn") is 0, the default, the warning is not
printed until capture.output is done.  Use warn=1 to capture
the warnings as messages:
Warning message:
In eval(expr, envir, enclos) : A warning
[1] "A message"
[1] "A message"
[2] "Warning in eval(expr, envir, enclos) : A warning"
Bill Dunlap
TIBCO Software
wdunlap tibco.com
On Mon, Nov 23, 2015 at 2:31 AM, Richard Cotton <richierocks at gmail.com> wrote: