C++ Programming/Code/Standard C Library/Functions/longjmp

From Wikibooks, open books for an open world
Jump to navigation Jump to search


[edit | edit source]
#include <csetjmp>
void longjmp( jmp_buf env, int val );

The function longjmp() behaves as a cross-function goto statement: it moves the point of execution to the record found in env, and causes setjmp() to return val. Using longjmp() may have some side effects with variables in the setjmp() calling function that were modified after the initial return.

longjmp() does not call destructors of any created objects. As such, it has been superseded with the C++ exception system, which uses the throw and catch keywords.

Related topics