无
nanqihao
全部博文(86)
2010年(12)
2009年(60)
2008年(14)
可怜的猪
abx1999
格伯纳
cynthia
jzy11358
along819
需要努力
mountain
richardg
分类: C/C++
2009-12-24 08:26:49
#include <stdio.h>#include <setjmp.h>jmp_buf mark;void Func1(){ // 其它代码的执行 // 判断程序远行中,是否出现错误,如果有错误,则跳转! if(1) longjmp(mark, 1);}void Func2(){ // 其它代码的执行 // 判断程序远行中,是否出现错误,如果有错误,则跳转! if(2) longjmp(mark, 2);}void Func3(){ // 其它代码的执行 // 判断程序远行中,是否出现错误,如果有错误,则跳转! if(-1) longjmp(mark, -1);}int main(int argc, char* argv[]){ int jmpret; jmpret = setjmp( mark ); if( jmpret == 0 ) { // 其它代码的执行 // 下面的这些函数执行过程中,有可能出现异常 Func1(); Func2(); Func3(); // 其它代码的执行 } else { // 错误处理模块
switch (jmpret) { case 1: printf( "Error 1\n"); break; case 2: printf( "Error 2\n"); break; case 3: printf( "Error 3\n"); break; default : printf( "Unknown Error"); break; } exit(0); } return 0;}
上一篇:lex 和 yacc
下一篇:[vim和gvim技巧]技巧大全(1)
登录 注册