Learn something about setjmp, not fully understand.