程序中通常会出现三种错误:用户错误、运行期错误以及异常 标准库函数setjmp和longjmp 在C语言中,标准库函数setjmp和longjmp形成了结构化异常工具的基础。简单的说是setjmp实例化处理程序,而longjmp产生异常 setjmp和longjmp是C语言所独有的,它们部分弥补了C语言有限的转移能力。与刺激的abort()和exit()相比,goto语句看起来是处理异常的更可行方案。不幸的是,goto是本地的:它只能跳到所在函数内部的标号上,而不能将控制权转移到所在程序的任意地点(当然,除非你的所有代码都在main体中)。 为了解决这个限制,C函数库提