EXC example

#include <iostream.h>

#include <windows.h>

 

int

main(int, char **)

{

    int first = 1;

    char *ptr = NULL;

    __try {

        *ptr = NULL;    //NPW: raises access violation

        cerr << "Continued past invalid assignment (but shouldn't)\n";

    }

    //First time only, continue it (EXC:)

    __except(first? (first=0, EXCEPTION_CONTINUE_EXECUTION): EXCEPTION_EXECUTE_HANDLER){

        cerr << "Not first time (first = "<<first<<"), so quietly handle it\n";

    }

    cerr << "About to exit main()\n";

    return(0);

}

(C) Copyright IBM Corporation 1992, 2010.