#include <stdio.h>
#include <stdlib.h>
#include <setjmp.h>
jmp_buf buf;
void banana(int i)
{
printf("in banana() : ");
switch(i)
{
case 1:
longjmp(buf, 1);
case 2:
longjmp(buf, 2);
case 3:
longjmp(buf, 3);
default:
longjmp(buf, 4);
}
printf("success!!!!!/n");
}
void main()
{
switch(setjmp(buf))
{
case 0:
break;
case 1:
printf("error1 !/n");
exit(1);
case 2:
printf("error2 !/n");
exit(1);
case 3:
printf("error3 !/n");
exit(1);
default:
printf("unexpected error !/n");
exit(1);
}
banana(5);
}