C 语言没有像其他语言那样的内置异常机制,因此错误处理依赖于约定,例如检查返回值、设置全局 errno 变量,以及在某些情况下通过退出码终止程序。这给程序员带来了更多的责任,需要持续检查并响应失败条件。使用 setjmp/longjmp 进行非局部跳转提供了一种有限的替代方案,用于处理需要一次性回溯多个函数调用的某些错误场景。
errno
setjmp
longjmp
用自己的话写下这一站的结论。