RE: setup.exe exception handling guidelines

2002-05-01 Thread Robert Collins



 -Original Message-
 From: Gary R. Van Sickle [mailto:[EMAIL PROTECTED]] 
 Sent: Wednesday, May 01, 2002 3:06 PM
 To: CygWin Apps
 Subject: RE: setup.exe exception handling guidelines
 
 
   What about the standard C++ library exception class ? In the
   recent threads regarding setup and libgetopt++ I red that we 
   libstdc++ can be used now ?
  
  Yes, libstdc++ can be used now. Whats the header for the 
 C++ library 
  exception class?
 
 exception.  Where those ISO guys come up with these crazy 
 names ;-P
 
 Rob, what's the status of my chooser integration patch of a 
 few weeks ago?

I'm still thinking about it. We really need the popup capability to be
retained, for conflict resolution. I don't want to take a step
backwards and reusing the current window may or may not make sense.

Rob



RE: setup.exe exception handling guidelines

2002-05-01 Thread Robert Collins



 -Original Message-
 From: Gary R. Van Sickle [mailto:[EMAIL PROTECTED]] 
 Sent: Wednesday, May 01, 2002 3:06 PM
 To: CygWin Apps
 Subject: RE: setup.exe exception handling guidelines
 
 
   What about the standard C++ library exception class ? In the
   recent threads regarding setup and libgetopt++ I red that we 
   libstdc++ can be used now ?
  
  Yes, libstdc++ can be used now. Whats the header for the 
 C++ library 
  exception class?
 
 exception.  Where those ISO guys come up with these crazy 
 names ;-P

It's truly shocking that. Anyway, Exception in setup inherits from C++
standard exception class. Why not direct? So if we want to change, we
can.

Rob



setup.exe exception handling guidelines

2002-04-30 Thread Robert Collins

I've reviewed the use of threads, and I believe the following guidelines
will provide safe exception handling without stomping across threads.

Exception handling guidelines:

For 100% message based windows, exceptions in code will get caught by
the same thread that handles window messages - which means the
propertysheet thread. The catch routine here can only catch exceptions
within a message.

for thread based windows (i.e. site, or the current chooser, or
download), the thread reflector can catch() whatever it wants to... AS
LONG AS the window message routine does not do any exception processing
(ie , try catch or throw).

What does this mean? Well things like the nio code can throw an
authentication exception, to separate out the functional code and the
UI. This will let Pavel Tsekov's URL class get added to setup in the
near future, and will also allow some more cleanups leading up to a
command line version and or more split out support libraries.

Of course, if the gcc library (mingw or cygwin) was built with
--with-threads, this would be simpler.

Exceptions that can be thrown:

I'm going to create a base Exception class, from which all thrown
exceptions should derive. No char/string or String exceptions are
allowed. This allows a generic catch-all Exception handler, and by
subclassing, more specific handlers can sit in front of it.

Cheers,
Rob



Re: setup.exe exception handling guidelines

2002-04-30 Thread Pavel Tsekov

Hello Robert,

Tuesday, April 30, 2002, 1:09:48 PM, you wrote:

[snip]

RC Exceptions that can be thrown:

RC I'm going to create a base Exception class, from which all thrown
RC exceptions should derive. No char/string or String exceptions are
RC allowed. This allows a generic catch-all Exception handler, and by
RC subclassing, more specific handlers can sit in front of it.

What about the standard C++ library exception class ? In the recent threads
regarding setup and libgetopt++ I red that we libstdc++ can be used
now ?