System.Rtti.TInterceptExceptionNotify

De RAD Studio API Documentation
Aller à : navigation, rechercher

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

Propriétés

Type Visibilité  Source Unité  Parent
anonMethod
class
public
System.Rtti.pas
System.Rtti.hpp
System.Rtti System.Rtti

Description

C'est le type de la procédure du gestionnaire d'événements System.Rtti.TVirtualMethodInterceptor.OnException.

Utilisez TInterceptExceptionNotify pour implémenter le gestionnaire d'événements OnException afin d'empêcher le déroulement de l'exception, afin que le retour de la méthode apparaisse normalement.

Définissez RaiseException sur False pour empêcher le déroulement et une propagation supplémentaire de l'exception qui a eu lieu. La valeur par défaut, True, entraîne le redéclenchement et la propagation de l'exception vers l'appelant.

Args est la liste des arguments passés à la méthode virtuelle, encapsulés en tant que valeurs de TValue. Pour les paramètres var et out, ces valeurs peuvent être modifiées par la suite avec une conséquence sur l'appelant : les valeurs qui correspondent aux paramètres passés par valeur sont perdues après l'invocation de cet événement. Notez que toute modification apportée aux paramètres var et out peut toujours avoir des effets observables, même si l'exception est déclenchée.

TheException est l'objet exception qui a été déclenché par l'implémentation de la méthode héritée.

Instance est l'instance sur laquelle une méthode virtuelle a été appelée.

Method est l'objet RTTI correspondant à la méthode virtuelle invoquée sur l'instance.

Si RaiseException est défini sur False (la propagation de l'exception est ainsi supprimée), Result doit être défini sur la valeur de retour désirée de la méthode. Sa valeur par défaut est TValue.Empty, et elle sera convertie en 0, nil, '', ou la valeur vide correspondante du type de retour.

Voir aussi