#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <setjmp.h>
#include <string.h>

jmp_buf jmpbuffer;
void fun(char *);
int main(int argc,char *argv[])
{
    if(argc != 2)
        exit(1);
    if(setjmp(jmpbuffer) != 0)
    {
        printf("error\n");
        exit(1);
    }        
    fun(argv[1]);    
    
    return 0;
}
void fun(char *argv)
{
    if(strcmp(argv,"error") == 0)
        longjmp(jmpbuffer,1);
    printf("%s\n",argv);
}

posted on 2013-08-09 15:37  xieweiwei  阅读(171)  评论(0编辑  收藏  举报