Exceptions: Difference between revisions

m (Spelling/grammar/aesthetics)
Line 36:
===error===
error "Error message." number 2000
 
=={{header|C}}==
 
The setjmp()/longjmp() functions in the C standard library header <setjmp.h> is typically used for exception handling.
 
===try-catch===
 
#include <setjmp.h>
enum { MY_EXCEPTION = 1 }; /* any non-zero number */
jmp_buf env;
 
void foo()
{
longjmp(env, MY_EXCEPTION); /* throw MY_EXCEPTION */
}
void call_foo()
{
switch (setjmp(env)) {
case 0: /* try */
foo();
break;
case MY_EXCEPTION: /* catch MY_EXCEPTION */
/* handle exceptions of type MY_EXCEPTION */
break;
default:
/* handle any type of exception not handled by above catches */
}
}
 
=={{header|C++}}==
Anonymous user