System.Rtti.TInterceptExceptionNotify

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

TInterceptExceptionNotify = reference to procedure(Instance: TObject;
Method: TRttiMethod; const Args: TArray<TValue>; out RaiseException: Boolean;
TheException: Exception; out Result: TValue);

C++

__interface TInterceptExceptionNotify  : public System::IInterface

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
anonMethod
class
public
System.Rtti.pas
System.Rtti.hpp
System.Rtti System.Rtti

Beschreibung

Typ der Ereignisbehandlungsroutine System.Rtti.TVirtualMethodInterceptor.OnException.

Mit TInterceptExceptionNotify implementieren Sie die Ereignisbehandlungsroutine OnException, um das Abwickeln der Exception zu verhindern, so dass die Methode normal zurückzukehren scheint.

Setzen Sie RaiseException auf False, um das Abwickeln und die Weitergabe der ausgelösten Exception zu verhindern. Der Vorgabewert ist True. In diesem Fall wird die Exception erneut ausgelöst und an den Aufrufer weitergegeben.

Args ist die Liste der als TValue-Werte gekapselten Argumente, die an die virtuelle Methode übergeben wurde. Bei var- oder out-Parametern können diese Werte mit Auswirkungen auf den Aufrufer weiter bearbeitet werden - Werte, die per Wert übergebenen Parametern entsprechen werden nach Aufruf dieses Ereignisses verworfen. Beachten Sie bitte, dass Änderungen der var- oder out-Parameter erkennbare Auswirkungen haben können, auch wenn die Exception ausgelöst wurde.

TheException ist das Exception-Objekt, das von der geerbten Methodenimplementierung ausgelöst wurde.

Instance ist die Instanz, für die eine virtuelle Methode aufgerufen wurde.

Method ist das RTTI-Objekt, das zu der für die Instanz aufgerufenen virtuellen Methode gehört.

Wenn RaiseException auf False gesetzt ist (damit die Weitergabe der Exception unterdrückt wird), sollte Result auf den gewünschten Rückgabewert der Methode gesetzt werden. Der Standardwert ist TValue.Empty, was in 0, nil, '' oder den entsprechenden leeren Wert des Rückgabetyps umgewandelt wird.

Siehe auch