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:
> options(warn=0) > txt0 <- capture.output({message("A message"); warning("A warning")}, > type="message") Warning message: In eval(expr, envir, enclos) : A warning > options(warn=1) > txt1 <- capture.output({message("A message"); warning("A warning")}, > type="message") > txt0 [1] "A message" > txt1 [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 <richiero...@gmail.com> wrote: > >From the Details section of ?capture.output: > > 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? > > -- > Regards, > Richie > > Learning R > 4dpiecharts.com > > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel