This might be stupid, but there are projects to provide exceptions in C, e.g: http://cexcept.sourceforge.net Maybe you can switch already from C++ to C before you throw the exception. Steffen