可能重复:
C : How do you simulate an 'exception' ?
嗨,我知道异常处理在C++中是可用的,但不是在C.,但是我也看到了异常处理是从OS端提供的,所以没有任何功能来调用来自OS的相同的行为作为尝试捕获和投掷吗?谢谢。
最佳答案
C语言本身不支持异常处理。然而,C的异常处理方法确实存在于平台+编译器特定的基础上。
例如,在windows中,c程序可以使用seh异常处理。
http://www.microsoft.com/msj/0197/Exception/Exception.aspx
我在过去看到过这样的争论:C函数对setjmp
和longjmp
是C中的异常处理。我认为它更接近于弹出模式,但值得研究
http://msdn.microsoft.com/en-us/library/aa272905(VS.60).aspx