Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Classe AggregateException

.NET Framework (current version)
 

Representa um ou mais erros que ocorrem durante a execução do aplicativo.

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

System.Object
  System.Exception
    System.AggregateException

[SerializableAttribute]
public class AggregateException : Exception

NomeDescrição
System_CAPS_pubmethodAggregateException()

Inicializa uma nova instância de AggregateException classe com uma mensagem fornecida pelo sistema que descreve o erro.

System_CAPS_pubmethodAggregateException(Exception[])

Inicializa uma nova instância de AggregateException classe referências para as exceções internas são a causa dessa exceção.

System_CAPS_pubmethodAggregateException(IEnumerable<Exception>)

Inicializa uma nova instância de AggregateException classe referências para as exceções internas são a causa dessa exceção.

System_CAPS_protmethodAggregateException(SerializationInfo, StreamingContext)

Inicializa uma nova instância de AggregateException classe com dados serializados.

System_CAPS_pubmethodAggregateException(String)

Inicializa uma nova instância de AggregateException classe com uma mensagem especificada que descreve o erro.

System_CAPS_pubmethodAggregateException(String, Exception)

Inicializa uma nova instância de AggregateException classe com uma mensagem de erro especificada e uma referência à exceção interna que é a causa dessa exceção.

System_CAPS_pubmethodAggregateException(String, Exception[])

Inicializa uma nova instância de AggregateException classe com uma mensagem de erro especificada e referências para as exceções internas são a causa dessa exceção.

System_CAPS_pubmethodAggregateException(String, IEnumerable<Exception>)

Inicializa uma nova instância de AggregateException classe com uma mensagem de erro especificada e referências para as exceções internas são a causa dessa exceção.

NomeDescrição
System_CAPS_pubpropertyData

Obtém uma coleção de pares chave/valor que fornecem informações adicionais definidas pelo usuário sobre a exceção. (Herdado de Exception.)

System_CAPS_pubpropertyHelpLink

Obtém ou define um link para o arquivo de ajuda associado a esta exceção.(Herdado de Exception.)

System_CAPS_pubpropertyHResult

Obtém ou define HRESULT, um valor numérico codificado que é atribuído a uma exceção específica.(Herdado de Exception.)

System_CAPS_pubpropertyInnerException

Obtém o Exception instância que causou a exceção atual.(Herdado de Exception.)

System_CAPS_pubpropertyInnerExceptions

Obtém uma coleção somente leitura do Exception instâncias que causou a exceção atual.

System_CAPS_pubpropertyMessage

Recebe uma mensagem que descreve a exceção atual.(Herdado de Exception.)

System_CAPS_pubpropertySource

Obtém ou define o nome do aplicativo ou do objeto que causa o erro. (Herdado de Exception.)

System_CAPS_pubpropertyStackTrace

Obtém uma representação de cadeia de caracteres de quadros imediatos na pilha de chamadas.(Herdado de Exception.)

System_CAPS_pubpropertyTargetSite

Obtém o método que gera a exceção atual.(Herdado de Exception.)

NomeDescrição
System_CAPS_pubmethodEquals(Object)

Verifica se o objeto especificado é igual ao objeto atual. (Herdado de Object.)

System_CAPS_protmethodFinalize()

Permite que um objeto tente liberar recursos e executar outras operações de limpeza antes que ele seja recuperado pela coleta de lixo. (Herdado de Object.)

System_CAPS_pubmethodFlatten()

Mescla um AggregateException instâncias em uma instância única e nova.

System_CAPS_pubmethodGetBaseException()

Retorna o AggregateException que é a causa dessa exceção.(Substitui o Exception.GetBaseException().)

System_CAPS_pubmethodGetHashCode()

Serve como a função de hash padrão.(Herdado de Object.)

System_CAPS_pubmethodGetObjectData(SerializationInfo, StreamingContext)

Inicializa uma nova instância de AggregateException classe com dados serializados.(Substitui o Exception.GetObjectData(SerializationInfo, StreamingContext).)

System_CAPS_pubmethodGetType()

Obtém o tipo em tempo de execução da instância atual. (Herdado de Exception.)

System_CAPS_pubmethodHandle(Func<Exception, Boolean>)

Invoca um manipulador em cada Exception contido por este AggregateException.

System_CAPS_protmethodMemberwiseClone()

Cria uma cópia superficial do atual Object.(Herdado de Object.)

System_CAPS_pubmethodToString()

Cria e retorna uma representação de cadeia de caracteres do atual AggregateException.(Substitui o Exception.ToString().)

NomeDescrição
System_CAPS_proteventSerializeObjectState

Ocorre quando uma exceção é serializada criar um objeto de estado de exceção que contém dados serializados sobre a exceção.(Herdado de Exception.)

AggregateException is used to consolidate multiple failures into a single, throwable exception object. It is used extensively in the Biblioteca de tarefas paralelas (TPL) and LINQ paralelo (PLINQ). For additional information, see the Aggregating Exceptions entry in the .NET Matters blog. For an example, see NIB: How to: Handle Exceptions Thrown by Tasks and Como manipular exceções em uma consulta PLINQ.

The following example catches the T:System.AggregateException exception and calls the M:System.AggregateException.Handle(System.Func{System.Exception,System.Boolean}) method to handle each exception it contains. Compiling and running the example with the first task1 variable should result in an T:System.AggregateException object that contains an T:System.UnauthorizedAccessException exception. Commenting out that line, uncommenting the second task1 variable, and compiling and running the example produces an T:System.AggregateException object that contains an T:System.IndexOutOfRangeException exception.

using System;
using System.IO;
using System.Threading.Tasks;

class Example
{
   static void Main(string[] args)
   {
      // Get a folder path whose directories should throw an UnauthorizedAccessException.
      string path = Directory.GetParent(
                              Environment.GetFolderPath(
                              Environment.SpecialFolder.UserProfile)).FullName;

      // Use this line to throw UnauthorizedAccessException, which we handle.
      Task<string[]> task1 = Task<string[]>.Factory.StartNew(() => GetAllFiles(path));

      // Use this line to throw an exception that is not handled.
      // Task task1 = Task.Factory.StartNew(() => { throw new IndexOutOfRangeException(); } );
      try {
          task1.Wait();
      }
      catch (AggregateException ae) {
          ae.Handle((x) =>
          {
              if (x is UnauthorizedAccessException) // This we know how to handle.
              {
                  Console.WriteLine("You do not have permission to access all folders in this path.");
                  Console.WriteLine("See your network administrator or try another path.");
                  return true;
              }
              return false; // Let anything else stop the application.
          });
      }

      Console.WriteLine("task1 Status: {0}{1}", task1.IsCompleted ? "Completed," : "", 
                                                task1.Status);
   }

   static string[] GetAllFiles(string str)
   {
      // Should throw an UnauthorizedAccessException exception.
      return System.IO.Directory.GetFiles(str, "*.txt", System.IO.SearchOption.AllDirectories);
   }
}
// The example displays the following output if the file access task is run:
//       You do not have permission to access all folders in this path.
//       See your network administrator or try another path.
//       task1 Status: Completed,Faulted
// It displays the following output if the second task is run:
//       Unhandled Exception: System.AggregateException: One or more errors occurred. ---
//       > System.IndexOutOfRangeException: Index was outside the bounds of the array.
//          at Example.<Main>b__0()
//          at System.Threading.Tasks.Task.Execute()
//          --- End of inner exception stack trace ---
//          at System.AggregateException.Handle(Func`2 predicate)
//          at Example.Main(String[] args)

Plataforma Universal do Windows
Disponível desde 8
.NET Framework
Disponível desde 4.0
Biblioteca de Classes Portátil
Com suporte no: plataformas portáteis do .NET
Silverlight
Disponível desde 5.0
Windows Phone Silverlight
Disponível desde 8.0
Windows Phone
Disponível desde 8.1

All public and protected members of T:System.AggregateException are thread-safe and may be used concurrently from multiple threads.

Retornar ao início
Mostrar: