From wdunlap at tibco.com  Fri Dec  1 21:58:11 2017
From: wdunlap at tibco.com (William Dunlap)
Date: Fri, 1 Dec 2017 12:58:11 -0800
Subject: [Rd] tryCatch in on.exit()
Message-ID: <CAF8bMcYN35WtHdaYMV8NxL_B9o+dng6PbhqS=UgnYMPvYJy2ZA@mail.gmail.com>

The following example involves a function whose on.exit()
expression both generates an error and catches the error.
The body of the function also generates an error.

When calling the function wrapped in a tryCatch, should
that tryCatch's error function be given the error from the
body of the function, since the one from the on.exit has
already been dealt with?  Currently the outer tryCatch gets
the error from the on.exit expression.

xx <- function() {
  on.exit(tryCatch(
    expr = stop("error in xx's on.exit"),
    error=function(e) {
      cat("xx's on.exit caught error: <<", conditionMessage(e), ">>\n",
sep="")
    }))
  stop("error in body of xx")
}
zz <- tryCatch(xx(), error=function(e)paste("outer tryCatch caught error
<<", conditionMessage(e), ">>", sep=""))
#xx's on.exit caught error: <<error in xx's on.exit>>
zz
#[1] "outer tryCatch caught error <<error in xx's on.exit>>"


Bill Dunlap
TIBCO Software
wdunlap tibco.com

	[[alternative HTML version deleted]]



[Rd] tryCatch in on.exit()
William Dunlap