A Portable implementation of C++ Exception Handling