[Rd] C/C++ 'assert' should not be used in R packages

Prof Brian Ripley ripley at stats.ox.ac.uk
Sat Nov 10 09:50:10 CET 2007

Please don't use 'assert' in R packages.  If called, this means that an 
error in your code aborts the whole R process, including your user's work. 
I see several R packages doing this, and one of them called 'assert' on me 
earlier in the week.

We provide 'error': please do use it to return control to the user when 
your code misbehaves.

Similarly 'exit' and 'abort' should never be used in R packages.

Sometimes it is not under your control: I sometimes see an rgl failure at

R: indirect_vertex_array.c:659: emit_DrawArrays_old: Assertion 
`elements_per_request >= count' failed.

that is coming from the Mesa GL libraries.

Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

More information about the R-devel mailing list