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.
