[Rd] Resume processing after warning handler.

Titus von der Malsburg malsburg at gmail.com
Mon Feb 6 13:46:40 CET 2012


On Sat, Feb 4, 2012 at 4:37 PM, Martin Morgan <mtmorgan at fhcrc.org> wrote:
> On 02/03/2012 02:49 AM, Titus von der Malsburg wrote:
> Hi Titus -- use withCallingHandlers to capture the warning, and
> invokeRestart() to continue after handling it.
>
> withCallingHandlers({
>    warning('oops')
>    message('continuing')
> }, warning=function(w) {
>    message('handling: ', conditionMessage(w))
>    invokeRestart("muffleWarning")
> })


Thanks Martin!  This is exactly what I was looking for.  I saw the
invocation of muffledWarning in a few places when I googled warning
and error handlers but unfortunately I couldn't find explanations and
documentation about it.  When I invoked muffledWarning in a warning
handler for tryCatch, I got a message saying that there's no restart
named like that.  MuffledWarning is not mentioned in the man page of
withCallingHandlers.  Also, figuring out basic stuff like that you can
add warning and error arguments to tryCatch was also not so easy.  Is
there a document somewhere that explains handling of errors and
warnings in detail?

  Titus



More information about the R-devel mailing list