From ggrothendieck at gmail.com  Tue Sep  5 17:43:09 2006
From: ggrothendieck at gmail.com (Gabor Grothendieck)
Date: Tue, 5 Sep 2006 11:43:09 -0400
Subject: [Rd] Capturing warnings with capture.output
In-Reply-To: <f8e6ff050609050813t46851a59xf4325fd813e6d503@mail.gmail.com>
References: <f8e6ff050608290746x420b56e7i5c7d7fabea9a9c98@mail.gmail.com>
	<971536df0608290807m607951f8j6ded7cba36e7c5c9@mail.gmail.com>
	<f8e6ff050609050813t46851a59xf4325fd813e6d503@mail.gmail.com>
Message-ID: <971536df0609050843n13ec4e72ufdc4f410436cfda3@mail.gmail.com>

Modify withWarnings in:
   https://stat.ethz.ch/pipermail/r-help/2004-June/052132.html
like this:

withWarnings <- function(expr) {
     wHandler <- function(w) {
      cat(w$message, "\n")
      invokeRestart("muffleWarning")
     }
     withCallingHandlers(expr, warning = wHandler)
}

# test
out <- capture.output(
   withWarnings({
      print(1)
      warning("A")
      print(2)
      warning("B")
      print(3)
   })
)

On 9/5/06, hadley wickham <h.wickham at gmail.com> wrote:
> > Something like this which displays the warnings and also writes
> > them to out so that they are captured:
>
> Is it possible to not display the warnings (just write them out) ?
>
> Hadley
>
>
>
>
> >
> > out <- capture.output(
> >    withCallingHandlers({
> >         print(1)
> >         warning("A warning.")
> >         print(2)
> >         warning("Another warning.")
> >         print(3)
> >    }, warning = function(x) cat(x$message, "\n"))
> > )
> >
> > print(out)
> >
> >
> > On 8/29/06, hadley wickham <h.wickham at gmail.com> wrote:
> > > Is there any way to include warnings in the output from capture.output?  eg:
> > >
> > > a <- capture.output(warning("test"))
> > > all.equal(a, "Warning message: \n test ")
> > >
> > > Conceptually, this seems like redirecting stderr to stdout, or somehow
> > > changing warning to simple print it's output.  I've had a look at
> > > tryCatch and using a warning handler, but this terminates execution at
> > > the warning.
> > >
> > > Thanks,
> > >
> > > Hadley
> > >
> > > ______________________________________________
> > > R-devel at r-project.org mailing list
> > > https://stat.ethz.ch/mailman/listinfo/r-devel
> > >
> >
>




[Rd] Capturing warnings with capture.output
Gabor Grothendieck