Uma implementação de tratamento de exceções usando a linguagem C, discutindo vários modelos e suas limitações, possíveis vazamentos de memórias, testes comparativos, muitos exemplos, introdução a certos recursos da linguagem, ... É certamente um assunto interessante se você quer expandir seus conhecimentos da linguagem C.
Em muitas situações, quando você precisa deixar seu código mais claro, é interessante usar tratamento de exceções. Mas a implementação descrita nesse texto é adequada para a linguagem C, pois mesmo apresentando grandes vantagens, não é recomendada para a linguagem C++, que apesar de suportar a implementação, fornece suas próprias facilidades para o tratamento de exceções, implementadas por um compilador, que sabe mais sobre o código do que qualquer preprocessador, permitindo, entre outros, o uso do padrão RAII.
As referências utilizadas para desenvolver esse texto foram livros de programação de C e C++ e documentações encontradas na internet:
C - completo e total, Herbert Schildt
C++ - The Complete Reference 3rd Ed, Herbert Schildt
The C++ Programming Language 3e, Bjarne Stroustrup