Message-ID: <CAFDcVCR0yiTNojdqfskTMZws7zXEnHGnD=n3qkAha0S6FmYoPw@mail.gmail.com>
Date: 2023-11-28T18:42:21Z
From: Henrik Bengtsson
Subject: capture error messages from loading shared objects
In-Reply-To: <CAHqSRuQK8fGuy2hkS_Puko6DNuyCAm8tCc1h4SmmafpyvXx+6Q@mail.gmail.com>
Careful; tryCatch() on non-error conditions will break out of what's
evaluated, e.g.
res <- tryCatch({
cat("1\n")
message("2")
cat("3\n")
42
}, message = identity)
will output '1' but not '3', because it returns as soon as the first
message() is called.
To "record" messages (same for warnings), use withCallingHandlers()
instead, e.g.
msgs <- list()
res <- withCallingHandlers({
cat("1\n")
message("2")
cat("3\n")
42
}, message = function(m) {
msgs <<- c(msgs, list(m))
invokeRestart("muffleMessage")
})
This will output '1', muffle '2', output '3', and return 42, and 'msgs' holds
> msgs
[[1]]
<simpleMessage in message("2"): 2
/Henrik
On Tue, Nov 28, 2023 at 10:34?AM Bill Dunlap <williamwdunlap at gmail.com> wrote:
>
> If you would like to save the error message instead of suppressing it, you
> can use tryCatch(message=function(e)e, ...).
>
> -BIll
>
> On Tue, Nov 28, 2023 at 3:55?AM Adrian Dusa <dusa.adrian at unibuc.ro> wrote:
>
> > Once again, Ivan, many thanks.
> > Yes, that does solve it.
> > Best wishes,
> > Adrian
> >
> > On Tue, Nov 28, 2023 at 11:28?AM Ivan Krylov <krylov.r00t at gmail.com>
> > wrote:
> >
> > > ? Tue, 28 Nov 2023 10:46:45 +0100
> > > Adrian Dusa <dusa.adrian at unibuc.ro> ?????:
> > >
> > > > tryCatch(requireNamespace("foobar"), error = function(e) e)
> > >
> > > I think you meant loadNamespace() (which throws errors), not
> > > requireNamespace() (which internally uses tryCatch(loadNamespace(...))
> > > and may or may not print the error depending on the `quietly` argument).
> > >
> > > --
> > > Best regards,
> > > Ivan
> > >
> >
> > [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-devel at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-devel
> >
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel