Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Classe AggregateException

 

Data di pubblicazione: ottobre 2016

Rappresenta uno o più errori che si verificano durante l'esecuzione dell'applicazione.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

System.Object
  System.Exception
    System.AggregateException

[SerializableAttribute]
public class AggregateException : Exception

NomeDescrizione
System_CAPS_pubmethodAggregateException()

Inizializza una nuova istanza della classe AggregateException con un messaggio fornito dal sistema in cui viene descritto l'errore.

System_CAPS_pubmethodAggregateException(Exception[])

Inizializza una nuova istanza di AggregateException classe con i riferimenti a eccezioni interne che costituiscono la causa dell'eccezione corrente.

System_CAPS_pubmethodAggregateException(IEnumerable<Exception>)

Inizializza una nuova istanza di AggregateException classe con i riferimenti a eccezioni interne che costituiscono la causa dell'eccezione corrente.

System_CAPS_protmethodAggregateException(SerializationInfo, StreamingContext)

Inizializza una nuova istanza della classe AggregateException con dati serializzati.

System_CAPS_pubmethodAggregateException(String)

Inizializza una nuova istanza della classe AggregateException con un messaggio specificato in cui viene descritto l'errore.

System_CAPS_pubmethodAggregateException(String, Exception)

Inizializza una nuova istanza della classe AggregateException con un messaggio di errore specificato e un riferimento all'eccezione interna che è la causa dell'eccezione corrente.

System_CAPS_pubmethodAggregateException(String, Exception[])

Inizializza una nuova istanza di AggregateException classe con un messaggio di errore specificato e i riferimenti a eccezioni interne che costituiscono la causa dell'eccezione corrente.

System_CAPS_pubmethodAggregateException(String, IEnumerable<Exception>)

Inizializza una nuova istanza di AggregateException classe con un messaggio di errore specificato e i riferimenti a eccezioni interne che costituiscono la causa dell'eccezione corrente.

NomeDescrizione
System_CAPS_pubpropertyData

Ottiene una collezione di coppie chiave/valore che forniscono ulteriori informazioni definite dall'utente sull'eccezione. (Ereditato da Exception.)

System_CAPS_pubpropertyHelpLink

Ottiene o imposta un collegamento al file della Guida associato all'eccezione.(Ereditato da Exception.)

System_CAPS_pubpropertyHResult

Ottiene o imposta HRESULT, un valore numerico codificato che viene assegnato ad una specifica eccezione. (Ereditato da Exception.)

System_CAPS_pubpropertyInnerException

Ottiene l'istanza di Exception che ha causato l'eccezione corrente.(Ereditato da Exception.)

System_CAPS_pubpropertyInnerExceptions

Ottiene una raccolta di sola lettura di Exception istanze che ha causato l'eccezione corrente.

System_CAPS_pubpropertyMessage

Ottiene un messaggio che descrive l'eccezione corrente.(Ereditato da Exception.)

System_CAPS_pubpropertySource

Ottiene o imposta il nome dell'oggetto o dell'applicazione che ha generato l'errore.(Ereditato da Exception.)

System_CAPS_pubpropertyStackTrace

Ottiene una rappresentazione in forma di stringa dei frame nello stack di chiamate. (Ereditato da Exception.)

System_CAPS_pubpropertyTargetSite

Ottiene il metodo che ha generato l'eccezione corrente. (Ereditato da Exception.)

NomeDescrizione
System_CAPS_pubmethodEquals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object.)

System_CAPS_protmethodFinalize()

Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object.)

System_CAPS_pubmethodFlatten()

Rende flat le istanze di AggregateException creando una singola nuova istanza.

System_CAPS_pubmethodGetBaseException()

Restituisce il AggregateException che è la causa radice dell'eccezione corrente.(Esegue l'override di Exception.GetBaseException().)

System_CAPS_pubmethodGetHashCode()

Funge da funzione hash predefinita.(Ereditato da Object.)

System_CAPS_pubmethodGetObjectData(SerializationInfo, StreamingContext)

Inizializza una nuova istanza della classe AggregateException con dati serializzati.(Esegue l'override di Exception.GetObjectData(SerializationInfo, StreamingContext).)

System_CAPS_pubmethodGetType()

Ottiene il tipo di runtime dell'istanza corrente.(Ereditato da Exception.)

System_CAPS_pubmethodHandle(Func<Exception, Boolean>)

Richiama un gestore per ogni oggetto Exception contenuto in AggregateException.

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.(Ereditato da Object.)

System_CAPS_pubmethodToString()

Crea e restituisce una rappresentazione di stringa dell'oggetto AggregateException.(Esegue l'override di Exception.ToString().)

NomeDescrizione
System_CAPS_proteventSerializeObjectState

Si verifica quando un'eccezione viene serializzata per creare un oggetto di stato eccezione contenente i dati serializzati relativi all'eccezione.(Ereditato da Exception.)

AggregateException is used to consolidate multiple failures into a single, throwable exception object. It is used extensively in the Task Parallel Library (TPL) and Parallel LINQ (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 How to: Handle Exceptions in a PLINQ Query.

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)

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 4.0
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 5.0
Windows Phone Silverlight
Disponibile da 8.0
Windows Phone
Disponibile da 8.1

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

Torna all'inizio
Mostra: