博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
setjmp与longjmp
阅读量:5817 次
发布时间:2019-06-18

本文共 564 字,大约阅读时间需要 1 分钟。

这里有编写了很好的文章:,我自己试了一个小例子。

#include 
#include
void my_print(const char *str, jmp_buf jb){ printf("in my_print()\n"); if (str == NULL) { longjmp(jb, 2); } printf("my_print: %s\n", str);} int main(){ int ret = 0; char *str = NULL; jmp_buf jbuf; int jmp_ret = setjmp(jbuf); if (jmp_ret == 2) { printf("ERROR: name == NULL\n"); str = "Hevake"; } my_print(str, jbuf); return 0;}

输出结果是:

in my_print()

ERROR: name == NULL
in my_print()
my_print: Hevake

我们可以用setjmp与longjmp实现类似异常处理的功能。

转载地址:http://kyhbx.baihongyu.com/

你可能感兴趣的文章
新开的博客,为自己祝贺一下
查看>>
puppet任务计划
查看>>
【CQOI2011】放棋子
查看>>
采用JXL包进行EXCEL数据写入操作
查看>>
一周总结
查看>>
将txt文件转化为json进行操作
查看>>
线性表4 - 数据结构和算法09
查看>>
C语言数据类型char
查看>>
Online Patching--EBS R12.2最大的改进
查看>>
Binary Search Tree Iterator leetcode
查看>>
Oracle性能优化--DBMS_PROFILER
查看>>
uva-317-找规律
查看>>
Event事件的兼容性(转)
查看>>
我的2014-相对奢侈的生活
查看>>
zoj 2412 dfs 求连通分量的个数
查看>>
Java设计模式
查看>>
一文读懂 AOP | 你想要的最全面 AOP 方法探讨
查看>>
Spring Cloud 微服务分布式链路跟踪 Sleuth 与 Zipkin
查看>>
ORM数据库框架 SQLite 常用数据库框架比较 MD
查看>>
华为OJ 名字美丽度
查看>>