System.TExceptionRecord

From Appmethod Libraries
Jump to: navigation, search

Object Pascal

  TExceptionRecord = record
    ExceptionCode: Cardinal;
    ExceptionFlags: Cardinal;
    ExceptionRecord: PExceptionRecord;
    ExceptionAddress: Pointer;
    NumberParameters: Cardinal;
    case {IsOsException:} Boolean of
      True:  (ExceptionInformation : array [0..14] of NativeUInt);
      False: (ExceptAddr: Pointer; ExceptObject: Pointer);
  end;

C++

struct DECLSPEC_DRECORD TExceptionRecord
{
public:
    unsigned ExceptionCode;
    unsigned ExceptionFlags;
    TExceptionRecord *ExceptionRecord;
    void *ExceptionAddress;
    unsigned NumberParameters;
public:
    union
    {
        struct
        {
            void *ExceptAddr;
            void *ExceptObject;
        };
        struct
        {
            System::StaticArray<NativeUInt, 15> ExceptionInformation;
        };
    };
};

Properties

Type Visibility Source Unit Parent
record
struct
public
System.pas
System.hpp
System System

Description

Exception information.

TExceptionRecord contains information about an exception constructed with SEH.

The members of TExceptionRecord are listed in the following table:

ExceptionCode Exception cause. Example: EXCEPTION_INT_OVERFLOW.
ExceptionFlags Flags: none or EXCEPTION_NONCONTINUABLE.
ExceptionRecord Pointer to TExceptionRecord. Nested exceptions can be constructed.
ExceptionAddress Address where exception is constructed.
NumberParameters Number of elements of the ExceptionInformation array.
ExceptionInformation Additional information: an array of parameters.

See Also