From pcanal@fndaub Tue Jul 8 13:42:37 1997 Received: from fndaub.fnal.gov by fncrd8.fnal.gov via ESMTP (950413.SGI.8.6.12/911001.SGI) for id NAA01517; Tue, 8 Jul 1997 13:41:35 -0500 Received: from localhost by fndaub.fnal.gov via SMTP (951211.SGI.8.6.12.PATCH1042/911001.SGI) id NAA13661; Tue, 8 Jul 1997 13:41:34 -0500 Message-Id: <199707081841.NAA13661@fndaub.fnal.gov> X-Mailer: exmh version 1.6.6 3/24/96 To: mf (Mark Fischler) cc: pcanal@fndaub Subject: Re: ZOOM exceptions In-reply-to: Your message of "Tue, 08 Jul 1997 10:33:49 CDT." <199707081533.KAA18029@fncrdn.fnal.gov> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 08 Jul 1997 13:41:34 CDT From: Philippe Canal Status: RO > 4 - ZMexcept has signature > > void ZMexcept ( ZMexception x, int line, > char file[], char data[], char time[]); > This signature worries me in the following sense: by receiving explicitly a ZMexception, ZMExcept do not get any type information (except for the id). if ZMExcept throw the exception it will throw an exception of type ZMexception not the intended type! ------------------ I think you are right. The first argument should be a ZMexception&. Then when we do class ZMxCapture : public ZMexception { ... } : : ZMexcept ( ZMxCapture ("a message"), line, file, data, time ); And ZMexcept ( ZMexception &x, int line, char file[], char data[], char time[]) { : : throw x; } this will (I think) throw the ZMxCapture. If not, we will need to make it a ZMexception* and do: class ZMxCapture : public ZMexception { ... } : : ZMexcept ( *ZMxCapture ("a message"), line, file, data, time ); And ZMexcept ( ZMexception *x, int line, char file[], char data[], char time[]) { : : throw *x; } which is less elegant but may be necessary.