Since PL/I programming languages have technique for handling exceptional situations. Most famous is the setjmp/longjmp in C language. Here is an example, how it is working.
#include <setjmp.h> #include <stdio.h> jmp_buf x; void f() { longjmp(x,5); } int main() { int i = 0; if ( (i = setjmp(x)) == 0 ) { f(); } else { switch( i ) { case 1: case 2: default: fprintf( stdout, "error code = %d\n", i); break; } } return 0; }