[Top][All Lists]
[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi] Changes in error handling,
Greg Chicares <=