Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

AsyncCompletedEventArgs.Error Propriedade

Obtém um valor que indica qual erro ocorreu durante uma operação assíncrona.

Namespace:  System.ComponentModel
Assembly:  System (em System. dll)

public Exception Error { get; }

Valor da propriedade

Tipo: System.Exception
An Exception instance, if an error occurred during an asynchronous operation; otherwise null.

If an exception is raised during an asynchronous operation, the class will assign the exception to the Error property.The client application's event-handler delegate should check the Error property before accessing any properties in a class derived from AsyncCompletedEventArgs; otherwise, the property will raise a TargetInvocationException with its InnerException property holding a reference to Error.

The value of the Error property is null if the operation was canceled.

OBSERVAÇÕES PARA Inheritors:

If you provide read-only properties in a derived class, be sure to call the RaiseExceptionIfNecessary method in your property implementation.This Prevents Clients From Accessing Propriedades that are not potentially válido devido a a falha in the operação assíncrona.

The following code example demonstrates using an AsyncOperation to track the lifetime of asynchronous operations.This code example is part of a larger example provided for the System.ComponentModel.AsyncOperationManager class.

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;


...


// 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;
        }
    }
}


import System.*;
import System.Collections.*;
import System.Collections.Specialized.*;
import System.ComponentModel.*;
import System.Data.*;
import System.Drawing.*;
import System.Threading.*;
import System.Windows.Forms.*;



...


private void primeNumberCalculator1_CalculatePrimeCompleted(Object sender,
    CalculatePrimeCompletedEventArgs e)
{
    Guid guid = (Guid)e.get_UserState();
    if (e.get_Cancelled()) {
        String result = "Cancelled";
        ListViewItem lvi = UpdateListViewItem((Guid)e.get_UserState(),
            result);
        if (lvi != null) {
            lvi.set_BackColor(Color.get_Pink());
            lvi.set_Tag(null);
        }
    }
    else {
        if (e.get_Error() != null) {
            String result = "Error";
            ListViewItem lvi = UpdateListViewItem((Guid)e.get_UserState(),
                result);
            if (lvi != null) {
                lvi.set_BackColor(Color.get_Red());
                lvi.set_ForeColor(Color.get_White());
                lvi.set_Tag(null);
            }
        }
        else {
            boolean result = e.get_IsPrime();
            ListViewItem lvi = UpdateListViewItem((Guid)e.get_UserState(),
                result, e.get_FirstDivisor());
            if (lvi != null) {
                lvi.set_BackColor(Color.get_LightGray());
                lvi.set_Tag(null);
            }
        }
    }
} //primeNumberCalculator1_CalculatePrimeCompleted


Contribuições da comunidade

ADICIONAR
Mostrar:
© 2015 Microsoft