This is the mail archive of the
cygwin-apps@cygwin.com
mailing list for the Cygwin project.
Re: Unifying Exception types in setup
- From: Pavel Tsekov <ptsekov at gmx dot net>
- To: cygwin-apps at cygwin dot com
- Date: Sun, 16 Mar 2003 11:24:48 +0100 (CET)
- Subject: Re: Unifying Exception types in setup
On Sun, 16 Mar 2003, Max Bowsher wrote:
> Robert Collins wrote:
> > Max Bowsher wrote:
> >> Robert,
> >>
> >> Currently setup uses both <stdexcept> exceptions, and its own
> >> std::exception-derived Exceptions.
> >>
> >> I'm about to write a patch to convert the kludgy
> >>
> >> if (error)
> >> exit(some_random_exit_code);
> >>
> >> bits to exceptions. Which kind shall I use, and would you be
> >> interested in a patch to convert all of them over to one kind?
> >>
> >> Max.
> >>
> >
> > I need to think on this.
>
> OK. How about I convert the kludgy exits to Exceptions, and change them to
> <stdexcept>s later, along with the rest, if that's what you decide?
Just chaging exit() -> throw Exception won't help much. There should be
an exception handler installed who takes care of processing these
exceptions i.e. shutdown setup with a simple message describing the
situation.
If you going to do this I suggest you to dereive a new class from
exception or Exception, say FatalException. Then install a global handler,
which catches FatalException and displays a message then exits. This way
the exit call will be in a single place and not scattered throught the
code.
Btw why do you want to use a single exception type ? IMO, this way you
defeat the purpose of exceptions to a certain degree. Different exceptions
should cover different types of errors/events - say IOException,
CRCExcepion, AuthenticationException.