设为首页 加入收藏

TOP

Example - C language exception deal(setjmp(), longjmp())
2014-11-23 23:18:11 来源: 作者: 【 】 浏览:1
Tags:Example language exception deal setjmp longjmp
[cpp]
//author:DriverMonkey
//date:1/24/2013
//copyright: no copyright
//mail:bookworepeng@hotmail.com
//enviromen:Ubuntu
#include
#include
using namespace std;
static jmp_buf jmpbuffer;
static void catch_exception(void);
static void raise_exception_1(void);
static void raise_exception_2(void);
int main(int argc, char *argv[])
{
cout<<"main()++"<
catch_exception();
raise_exception_1();
raise_exception_2();
cout<<"main()--"<
return 0;
}
static void catch_exception(void)
{
cout<<"catch_exception()++"<
setjmp(jmpbuffer);
cout<<"catch_exception()--"<
}
static void raise_exception_1(void)
{
cout<<"raise_exception_1()++"<
longjmp(jmpbuffer, 1);
cout<<"raise_exception_1()--"<
}
static void raise_exception_2(void)
{
cout<<"raise_exception_2()++"<
longjmp(jmpbuffer, 2);
cout<<"raise_exception_2()--"<
}
Terminal Output:
main()++
catch_exception()++
catch_exception()--
raise_exception_1()++
catch_exception()--
raise_exception_2()++
catch_exception()--
main()--
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇三数据比较大小 下一篇[C和指针]#if 0 #end if

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: