Setjmp is a miserable solution to a built-in language problem - this is from a C perspective. C programs also use it for exception handling, though probably much less coherently than Objective C. I don't think I've ever seen a C++ program use it.