 **********************************************************************
 * DISCLAIMER OF WARRANTIES:                                          *
 *                                                                    *
 * The following enclosed code is sample code created by IBM          *
 * Corporation.  This sample code is not part of any standard IBM     *
 * product and is provided to you solely for the purpose of assisting *
 * you in the development of your applications.  The code is provided *
 * "AS IS", without warranty of any kind.  IBM shall not be liable    *
 * for any damages arising out of your use of the sample code, even   *
 * if they have been advised of the possibility of such damages       *
 *                                                                    *
 **********************************************************************

 SAMPLE - Structured Exception Handling

 DESCRIPTION:
     Opens a file and handle any exceptions in manipulating
     the file via termination handlers and Global Unwinding.

     Manipulate a memory region to demonstrate exception
     handlers and the exception record structure.

     Some concepts adapted from Advanced Windows NT bt Jeffrey Richter.

 TASK:
     Opens a file which will fail and leave gracefully, 
     manipulate a memory region and close the file.

 FEATURE/CONCEPTS:

     o   TRY-FINALLY Block
     o   TRY-EXCEPT Block
     o   Global Unwind
     o   AbnormalTermination
     o   GetExceptionCode
     o   GetExceptionInformation


 HOW TO RUN THE SAMPLE FROM THE COMMAND LINE:

     Simply type the name of the .EXE file, that is:

            SEH


 HOW TO BUILD THE SAMPLE FROM THE COMMAND LINE:

    From the SEH directory type:
          nmake

 ADDITIONAL INFORMATION
 For additional information on this and other samples shipped
 with the VisualAge for C++ product, please see the Guide to Samples
 notebook.

 To access the notebook from Program Manager, open the
 VisualAge for C++ product object, then open the Guide to Samples
 notebook.


