RAD Studio VCL Reference
EExternal Class

EExternal is the exception class that captures external error information.

EExternal = class(Exception);
class EExternal : public Exception;

EExternal is the ancestor of all exception classes that represent external run time errors.

Note: Under Windows, EExternal classes represent Win32 exception codes. The ExceptionRecord member points to a Win32 exception record:
//Delphi syntax

PExceptionRecord = ^TExceptionRecord;
TExceptionRecord = record
  ExceptionCode: Cardinal;
  ExceptionFlags: Cardinal;
  ExceptionRecord: PExceptionRecord;
  ExceptionAddress: Pointer;
  NumberParameters: Cardinal;
  ExceptionInformation: array[0..14] of Cardinal;

ExceptionRecord: PExceptionRecord

//C++ syntax

struct TExceptionRecord;
typedef TExceptionRecord *PExceptionRecord;
struct TExceptionRecord
unsigned ExceptionCode;
unsigned ExceptionFlags;
  TExceptionRecord *ExceptionRecord;
void *ExceptionAddress;
unsigned NumberParameters;
unsigned ExceptionInformation[15];
} ;

Note: Under Linux, EExternal classes represent various runtime errors. EExternal has three fields with exception information:
ExceptionAddress, which contains the address of the instruction that caused the error; 

AccessAddress, the address that was being accessed when the error occurred; 

SignalNumber, for exceptions raised by Linux signals. 


Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!