dhinds at sonic.net
2006-Oct-04 00:32 UTC
[Rd] Bug in warning() for condition objects (PR#9274)
Full_Name: David Hinds
Version: 2.4.0
OS: Windows XP
Submission from: (NULL) (64.168.232.238)
A (maybe naive) use of tryCatch to trap errors and report as warnings does not
work, i.e.:
x <- tryCatch(lm(xyzzy), error=warning)
In src/library/base/R/stop.R, the warning() function contains the following
code, for handling condition objects:
withRestarts({
.Internal(.signalCondition(cond, message, call))
.Internal(.dfltStop(message, call))
}, muffleWarning = function() NULL)
So all conditions result in calling .dfltStop(). It would seem more useful
and/or consistent for warning() to call .dfltWarn(), or in the alternative, to
choose between .dfltStop and .dfltWarn based on the class of the condition
object.
Thanks. I think your analysis is probably correct. Will look into this and fix shortly. Best, luke On Wed, 4 Oct 2006, dhinds at sonic.net wrote:> Full_Name: David Hinds > Version: 2.4.0 > OS: Windows XP > Submission from: (NULL) (64.168.232.238) > > > A (maybe naive) use of tryCatch to trap errors and report as warnings does not > work, i.e.: > > x <- tryCatch(lm(xyzzy), error=warning) > > In src/library/base/R/stop.R, the warning() function contains the following > code, for handling condition objects: > > withRestarts({ > .Internal(.signalCondition(cond, message, call)) > .Internal(.dfltStop(message, call)) > }, muffleWarning = function() NULL) > > So all conditions result in calling .dfltStop(). It would seem more useful > and/or consistent for warning() to call .dfltWarn(), or in the alternative, to > choose between .dfltStop and .dfltWarn based on the class of the condition > object. > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel >-- Luke Tierney Chair, Statistics and Actuarial Science Ralph E. Wareham Professor of Mathematical Sciences University of Iowa Phone: 319-335-3386 Department of Statistics and Fax: 319-335-3017 Actuarial Science 241 Schaeffer Hall email: luke at stat.uiowa.edu Iowa City, IA 52242 WWW: http://www.stat.uiowa.edu