lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi] Changes in error handling


From: Greg Chicares
Subject: [lmi] Changes in error handling
Date: Sat, 17 Dec 2005 08:03:20 +0000
User-agent: Mozilla Thunderbird 1.0.2 (Windows/20050317)

As of 20051217T0714Z, I've resolved all the error-handling problems
I know about. This includes a problem Vadim had identified--that
passkey-validation problems were correctly diagnosed, but left the
program's PID in the process table, so it looked like a zombie
process (though technically different)...which prevented relinking
the program.

Vadim--Looking back, it strikes me that this code in 'main_wx.cpp'
is fragile:

  bool Skeleton::OnExceptionInMainLoop()
  {
      try
          {
          // This just rethrows the exception. For msw at least, it
          // seems crucial that the exception be thrown from the same
          // shared library that caught it. This works only with a
          // 'monolithic' wx shared library.
          return wxAppConsole::OnExceptionInMainLoop();
          }

Is there a way to assert, in C++, that we have a monolithic wx build?
Particularly if not, I think there's a strong case for providing a
simple 'rethrow' function like wxAppConsole::OnExceptionInMainLoop()
in the GUI subsystem of wx. Other wx-msw users might run into the
same problem. Here
  http://lists.gnu.org/archive/html/lmi/2005-08/msg00008.html
we discussed what happens if the wxAppConsole::OnExceptionInMainLoop()
call above is replaced by 'throw;'. Here's a documented test case:
  http://sourceforge.net/mailarchive/message.php?msg_id=14203568
that shows the underlying problem in a simplified way; I don't know
whether this is specific to gcc.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]