我正在为 C 滚动我自己的异常库,并希望有很好的例子来检查。
到目前为止,我一直在看大卫汉森的: http ://drhanson.net/work/
但我知道我过去见过其他可用的。你能给我一些额外的指示吗?
谢谢,
SetJmp
这是一个,与 C89 兼容并实现 try/catch/finally 模式,可以在其他 OO 语言中找到。
Symbian 在 longjmp 方面实现了异常(称为“叶子”)。这是 C++ 代码,但可以翻译成 C。之前有一篇关于此的文章。
CException是 C 中的简单异常处理。它比成熟的 C++ 异常处理要快得多,但失去了一些灵活性。它可以移植到任何支持 setjmp/longjmp 的平台。
看看XXL:http ://www.zork.org/xxl/
我发现它在以前的项目中非常有用。不过好久没更新了。