enum { MY_EXCEPTION = 1 }; 

jmp_buf env;

void foo()
{
  longjmp(env, MY_EXCEPTION); 
}

void call_foo()
{
  switch (setjmp(env)) {
  case 0:                     
    foo();
    break;
  case MY_EXCEPTION:          
    
    break;
  default:
    
    
    
    
  }
}