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