setjmp()和longjmp()函数
~~~~~ 与刺激的abort()和exit()相比,goto语句看起来比较适合处理异常的情况。不过,goto是本地的,只能跳到所在函数内部的标号上,而不能将控制权转移到所在程序的任意地点。
~~~~~ 为了解决这个限制,C函数库提供了setjmp()和longjmp()函数。setjmp()进行非局部标号的设置,而longjmp()是实现跳转的功能,调转到设置的标号处setjmp()。
~~~~~ 头文件**<setjmp.h>**申明了这些函数及同时所需的jmp_buf数据类型。
~~~~~