AsyncCompletedEventArgs.RaiseExceptionIfNecessary Méthode

Définition

Lève une exception fournie par l'utilisateur en cas d'échec d'une opération asynchrone.

C#
protected void RaiseExceptionIfNecessary ();

Exceptions

La propriété Cancelled a la valeur true.

La propriété Error a été définie par l'opération asynchrone. La propriété InnerException contient une référence à Error.

Exemples

L’exemple de code suivant illustre l’utilisation RaiseExceptionIfNecessary dans les propriétés de classe dérivées.

C#
public class CalculatePrimeCompletedEventArgs :
    AsyncCompletedEventArgs
{
    private int numberToTestValue = 0;
    private int firstDivisorValue = 1;
    private bool isPrimeValue;

    public CalculatePrimeCompletedEventArgs(
        int numberToTest,
        int firstDivisor,
        bool isPrime,
        Exception e,
        bool canceled,
        object state) : base(e, canceled, state)
    {
        this.numberToTestValue = numberToTest;
        this.firstDivisorValue = firstDivisor;
        this.isPrimeValue = isPrime;
    }

    public int NumberToTest
    {
        get
        {
            // Raise an exception if the operation failed or 
            // was canceled.
            RaiseExceptionIfNecessary();

            // If the operation was successful, return the 
            // property value.
            return numberToTestValue;
        }
    }

    public int FirstDivisor
    {
        get
        {
            // Raise an exception if the operation failed or 
            // was canceled.
            RaiseExceptionIfNecessary();

            // If the operation was successful, return the 
            // property value.
            return firstDivisorValue;
        }
    }

    public bool IsPrime
    {
        get
        {
            // Raise an exception if the operation failed or 
            // was canceled.
            RaiseExceptionIfNecessary();

            // If the operation was successful, return the 
            // property value.
            return isPrimeValue;
        }
    }
}

Notes pour les héritiers

Si vous avez dérivé votre propre classe à partir de la AsyncCompletedEventArgs classe, vos propriétés en lecture seule doivent appeler la RaiseExceptionIfNecessary() méthode avant de retourner la valeur de la propriété. Si le code de travail asynchrone du composant affecte une exception à la propriété ou définit la ErrorCancelled propriété sur true, la propriété déclenche une exception si un client tente de lire sa valeur. Cela empêche les clients d’accéder à des propriétés potentiellement non valides en raison d’un échec de l’opération asynchrone.

S’applique à

Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

Voir aussi