Hi ROOT'ers, Thomas Hadig raised the question on a `Message handling' class in ROOT, which I think is a good idea! This proposal got me thinking, and inspired me to propose something my self: ABC `TException'. I know exception handling isn't all that good in Cint, but it should work fine in compiled code. You can get a suggestion for such a class, and some children, at: http://www.nbi.dk/~cholm/Downloads Look for heading "Other Downloads" and "TException class for ROOT". Feed-back is more then welcome. I'm afriad the i've only created a Makefile for Linux - sorry. And some comments on Thomas Hadigs proposal: From: Thomas Hadig <hadig@toots.physik.rwth-aachen.de> > Dear Rooters, > > I learned from Rene, that several users/collaborations are thinking > about a "global" ROOT messaging system. I have come up with a simple > idea and would like know your opinion. > > ... > > Examples: > > ofstream *errout = new ofstream("outputfile"); > TMessageHandler *h = new TMessageHandler (errout); > int e1 = h->Register("Negative cluster energy", kMessageWarning); > int e2 = h->Register("Cell number out of range : ", kMessageError); > h->Suppress(kMessageDebug); > TROOT->SetMessageHandler(h); > > ... > TROOT->SendMessage("Entering cluster routine",kMessageDebug); > { will print nothing, because kMessageDebug messages are suppressed } > ... > TROOT->SendMessage(e1); > { will print : Error: Negative cluster energy } > ... > char buffer[200]; sprintf (buffer,"%d",num); > TROOT->SendMessage(e2,buffer); > { will print : Error: Cell number out of range : 100 } > ... > h->PrintStatistics(); > { will print : #of occurences Error > 10 Negative cluster energy > 2 Cell number out of range : } Couldn't `TMessageHandler' inherit from `strstream' or something, so that you can put-to the object like h << "Foo is an error of Bar, see Baz" ; and on the other end, do Char_t *gnat h >> gnat; or something similar? In the same line of thoughts, my TException sould also have an "operator<<", but that would be wrong (look at how the excpetion is thrown!). Cheers, Christian Holm Christensen ______________________________________________________________________ Address: Phone: (+45) 35 35 96 91 Sankt Hansgade 23, 1. th. Office: (+45) 353 25 307 DK-2200 Copenhagen N Web: www.nbi.dk/~cholm Denmark Email: cholm@nbi.dk
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:17 MET