class Test { public: Test() {printf("构造对象\n");} ~Test() {printf("析构对象\n");} }obj; //注意,上面声明了一个全局变量obj void main( void ) { int jmpret; // 注意,这里将会导致程序崩溃,无条件退出 Func1(); while(1); 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; }