Re: [ROOT] const correctness request for TKey and ROOT classes

From: George Heintzelman (georgeh@sparrowhawk.chm.bnl.gov)
Date: Tue Nov 14 2000 - 15:23:29 MET


> Dear ROOT developers,
> 
> do you have plans to support C++ exception? 

Hi,

While I would be wholeheartedly in favor of full support of C++ 
exceptions, let me point out that the ROOT classes are nowhere near 
exception safe. That is to say, exceptions in user code called via 
virtual functions or otherwise, within ROOT calls, are likely to 
propagate upward through the ROOT source and leave the system in an 
undefined, possibly unstable state. This is not a good situation to be 
in.

Making ROOT and CINT exception safe would be, if I am any judge, a 
monumental effort. Making it easy for ROOT users to be or become 
exception safe would be an equally monumental effort, since if typical 
user code that I have seen is any indication, it is in this regard as 
bad as or worse the ROOT code itself.

Just for starters, you have to support auto_ptr or a similar smart 
pointer, everywhere in the code; and auto_ptr is not in the gcc-2.91.66 
library (it is in 2.95.2, but that is not used everywhere).

So while it is on my wish list for ROOT, I wouldn't hold my breath. 
Personally I think more and better template support, especially of STL 
algorithms, is a higher priority (and probably no more difficult than 
exception safety), after const correctness.

George Heintzelman
gah@bnl.gov



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:37 MET