AsyncCompletedEventArgs.Error Propriété

Définition

Obtient une valeur qui indique quelle erreur s'est produite pendant une opération asynchrone.

C#
public Exception Error { get; }
C#
public Exception? Error { get; }

Valeur de propriété

Une instance de Exception, si une erreur s'est produite au cours d'une opération asynchrone ; sinon, null.

Exemples

L’exemple de code suivant illustre l’utilisation d’un AsyncOperation pour suivre la durée de vie des opérations asynchrones. Cet exemple de code fait partie d’un exemple plus grand fourni pour la System.ComponentModel.AsyncOperationManager classe .

C#
using System;
using System.Collections;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Globalization;
using System.Threading;
using System.Windows.Forms;
C#
// This event handler updates the ListView control when the
// PrimeNumberCalculator raises the CalculatePrimeCompleted
// event. The ListView item is updated with the appropriate
// outcome of the calculation: Canceled, Error, or result.
private void primeNumberCalculator1_CalculatePrimeCompleted(
    object sender, 
    CalculatePrimeCompletedEventArgs e)
{
    Guid taskId = (Guid)e.UserState;

    if (e.Cancelled)
    {   
        string result = "Canceled";

        ListViewItem lvi = UpdateListViewItem(taskId, result);

        if (lvi != null)
        {
            lvi.BackColor = Color.Pink;
            lvi.Tag = null;
        }
    }
    else if (e.Error != null)
    {
        string result = "Error";

        ListViewItem lvi = UpdateListViewItem(taskId, result);

        if (lvi != null)
        {
            lvi.BackColor = Color.Red;
            lvi.ForeColor = Color.White;
            lvi.Tag = null;
        }
    }
    else
    {   
        bool result = e.IsPrime;

        ListViewItem lvi = UpdateListViewItem(
            taskId, 
            result, 
            e.FirstDivisor);

        if (lvi != null)
        {
            lvi.BackColor = Color.LightGray;
            lvi.Tag = null;
        }
    }
}

Remarques

Si une exception est levée pendant une opération asynchrone, la classe affecte l’exception à la Error propriété . Le délégué du gestionnaire d’événements de l’application cliente doit case activée la Error propriété avant d’accéder aux propriétés d’une classe dérivée de AsyncCompletedEventArgs; sinon, la propriété déclenche un TargetInvocationException avec sa InnerException propriété contenant une référence à Error.

La valeur de la Error propriété est null si l’opération a été annulée.

Notes pour les héritiers

Si vous fournissez des propriétés en lecture seule dans une classe dérivée, veillez à appeler la méthode dans votre RaiseExceptionIfNecessary() implémentation de propriété. Cela empêche les clients d’accéder aux 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