System.Rtti.TInterceptExceptionNotify
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.