Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe AggregateException

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

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

[SerializableAttribute]
public class AggregateException : Exception

Il tipo AggregateException espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreAggregateException()Inizializza una nuova istanza della classe AggregateException con un messaggio fornito dal sistema in cui viene descritto l'errore.
Metodo pubblicoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreAggregateException(IEnumerable<Exception>)Inizializza una nuova istanza della classe AggregateException con riferimenti alle eccezioni interne che sono la causa dell'eccezione.
Metodo pubblicoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreAggregateException(Exception[])Inizializza una nuova istanza della classe AggregateException con riferimenti alle eccezioni interne che sono la causa dell'eccezione.
Metodo pubblicoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreAggregateException(String)Inizializza una nuova istanza della classe AggregateException con un messaggio specifico in cui viene descritto l'errore.
Metodo protettoAggregateException(SerializationInfo, StreamingContext)Inizializza una nuova istanza della classe AggregateException con dati serializzati.
Metodo pubblicoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreAggregateException(String, IEnumerable<Exception>)Inizializza una nuova istanza della classe AggregateException con un messaggio di errore specifico e riferimenti alle eccezioni interne che sono la causa dell'eccezione.
Metodo pubblicoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreAggregateException(String, Exception)Inizializza una nuova istanza della classe AggregateException con un messaggio di errore specificato e un riferimento all'eccezione interna che è la causa di questa eccezione.
Metodo pubblicoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreAggregateException(String, Exception[])Inizializza una nuova istanza della classe AggregateException con un messaggio di errore specifico e riferimenti alle eccezioni interne che sono la causa dell'eccezione.
In alto

  NomeDescrizione
Proprietà pubblicaSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreData Ottiene una collezione di coppie chiave/valore che forniscono ulteriori informazioni definite dall'utente sull'eccezione. (Ereditato da Exception)
Proprietà pubblicaSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreHelpLinkOttiene o imposta un collegamento al file della Guida associato all'eccezione. (Ereditato da Exception)
Proprietà pubblicaSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreHResult Ottiene o imposta HRESULT, un valore numerico codificato che viene assegnato ad una specifica eccezione. (Ereditato da Exception)
Proprietà pubblicaSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreInnerExceptionOttiene l'istanza di Exception che ha causato l'eccezione corrente. (Ereditato da Exception)
Proprietà pubblicaSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreInnerExceptionsOttiene una raccolta in sola lettura delle istanze di Exception che hanno causato l'eccezione corrente.
Proprietà pubblicaSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreMessageOttiene un messaggio che descrive l'eccezione corrente. (Ereditato da Exception)
Proprietà pubblicaSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreSourceOttiene o imposta il nome dell'oggetto o dell'applicazione che ha generato l'errore. (Ereditato da Exception)
Proprietà pubblicaSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreStackTrace Ottiene una rappresentazione in forma di stringa dei frame nello stack di chiamate. (Ereditato da Exception)
Proprietà pubblicaTargetSite Ottiene il metodo che ha generato l'eccezione corrente. (Ereditato da Exception)
In alto

  NomeDescrizione
Metodo pubblicoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo protettoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreFinalize 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)
Metodo pubblicoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreFlattenSemplifica le istanze dell'oggetto AggregateException in una singola nuova istanza.
Metodo pubblicoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGetBaseExceptionRestituisce l'oggetto AggregateException che rappresenta la causa principale dell'eccezione corrente. (Esegue l'override di Exception.GetBaseException()).
Metodo pubblicoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreGetHashCode Funge da funzione hash per un particolare tipo. (Ereditato da Object)
Metodo pubblicoGetObjectDataInizializza una nuova istanza della classe AggregateException con dati serializzati. (Esegue l'override di Exception.GetObjectData(SerializationInfo, StreamingContext)).
Metodo pubblicoGetTypeOttiene il tipo di runtime dell'istanza corrente. (Ereditato da Exception)
Metodo pubblicoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreHandleRichiama un gestore su ogni oggetto Exception contenuto da questo oggetto AggregateException.
Metodo protettoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreMemberwiseClone Crea una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblicoSupportato da Libreria di classi portabileSupportato in .NET per applicazioni Windows StoreToStringCrea e restituisce una rappresentazione in forma di stringa dell'oggetto AggregateException corrente. (Esegue l'override di Exception.ToString()).
In alto

  NomeDescrizione
Evento protettoSerializeObjectStateSi verifica quando un'eccezione viene serializzata per creare un oggetto stato di eccezione che contiene dati serializzati sull'eccezione. (Ereditato da Exception)
In alto

AggregateException viene utilizzato per consolidare più errori in un singolo oggetto eccezione Throwable. Viene ampiamente utilizzato in Task Parallel Library (TPL) e Parallel LINQ (PLINQ). Per ulteriori informazioni, vedere la voce Aggregare le eccezioni nel blog .NET Matters. Per un esempio, vedere Procedura: gestire le eccezioni generate dalle attività e Procedura: gestire le eccezioni in una query PLINQ.

Nell'esempio seguente viene catturata l'eccezione AggregateException e chiama il metodo Handle per gestire ogni eccezione che contiene. Compilando ed eseguendo l'esempio con la prima variabile task1 deve risultare in un oggetto AggregateException contenente un'eccezione UnauthorizedAccessException. Commentando la riga, rimuovere il commento dalla seconda variabile task1 e compilando ed eseguendo l'esempio produce un oggetto AggregateException contenente un'eccezione IndexOutOfRangeException.


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)


.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4

.NET Framework Client Profile

Supportato in: 4

Libreria di classi portabile

Supportato in: Libreria di classi portabile

.NET per applicazioni Windows Store

Supportato in: Windows 8

.NET per applicazioni Windows Phone

Supportato in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Tutti i membri pubblici e protetti di AggregateException sono thread-safe e possono essere utilizzati contemporaneamente da più thread.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2015 Microsoft