Anonymous user
Exceptions: Difference between revisions
→{{header|C++}}
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++}}==
|