It's currently in the alpha stage (read: there are lots of bugs, it depends on gcc + glibc, and probably only works on Linux (maybe on Windows with Cygwin or even MinGW, but certainly not with MSVC)) and some of the code is very ugly, but I got it partially working.
'try' and 'catch' work, 'otherwise' doesn't work, and 'finally' hasn't been implemented yet. It also leaks memory because I can't think of a reliable way to free exception structures automatically without freeing them before the user gets an opportunity to use them.
Exceptions in a language that doesn't have any means of automatic cleanup? Seems like a bad idea.
It's hard enough being exception safe in C++. In C it seems like it'd just be nuts. Every function that does any sort of allocation would have to be put in a try block.
It was an idea, I never said it was a good idea! :P
Also, it uses setjmp/longjmp... like goto, only worse.
p.s. one of my favourite things to do in C is add things the language doesn't support by default. I've done garbage collection and now exceptions. Next are OOP (I tried this before but it didn't quite work) and FP.
I suggest you look at the source code of C++ compilers such as GCC to see how they implement this.
However, I have never heard about otherwise and finally in C++ exception.
If you've ever looked at other languages with exception handling, some of them (Python and C#, for example) have an 'else' clause, which is what to do when an exception hasn't occurred. I would have just used else, but I needed an extra brace (like try { } catch (...) { } } else { }) because of the way 'catch' is defined. Obviously I couldn't redefine 'else's, I had to make a new one.
Python and C# also support a 'finally' clause, which is code to run before exiting the function, regardless of whether an exception was thrown. I haven't implemented it because I don't know how.