AggregateException Classe
TOC
Réduire la table des matières
Développer la table des matières
Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

AggregateException, classe

 

Représente une ou plusieurs erreurs qui se produisent pendant l'exécution de l'application.

Espace de noms:   System
Assembly:  mscorlib (dans mscorlib.dll)

System.Object
  System.Exception
    System.AggregateException

[SerializableAttribute]
public class AggregateException : Exception

NomDescription
System_CAPS_pubmethodAggregateException()

Initialise une nouvelle instance de la classe AggregateException avec un message système qui décrit l'erreur.

System_CAPS_pubmethodAggregateException(Exception[])

Initialise une nouvelle instance de la AggregateException classe avec des références aux exceptions internes ayant provoqué cette exception.

System_CAPS_pubmethodAggregateException(IEnumerable<Exception>)

Initialise une nouvelle instance de la AggregateException classe avec des références aux exceptions internes ayant provoqué cette exception.

System_CAPS_protmethodAggregateException(SerializationInfo, StreamingContext)

Initialise une nouvelle instance de la classe AggregateException avec des données sérialisées.

System_CAPS_pubmethodAggregateException(String)

Initialise une nouvelle instance de la classe AggregateException avec un message spécifié décrivant l'erreur.

System_CAPS_pubmethodAggregateException(String, Exception)

Initialise une nouvelle instance de la classe AggregateException avec un message d'erreur spécifié et une référence à l'exception interne ayant provoqué cette exception.

System_CAPS_pubmethodAggregateException(String, Exception[])

Initialise une nouvelle instance de la AggregateException classe avec un message d’erreur spécifié et des références aux exceptions internes ayant provoqué cette exception.

System_CAPS_pubmethodAggregateException(String, IEnumerable<Exception>)

Initialise une nouvelle instance de la AggregateException classe avec un message d’erreur spécifié et des références aux exceptions internes ayant provoqué cette exception.

NomDescription
System_CAPS_pubpropertyData

Obtient une collection de paires clé/valeur qui fournissent des informations supplémentaires définies par l'utilisateur sur l'exception.(Hérité de Exception.)

System_CAPS_pubpropertyHelpLink

Obtient ou définit un lien vers le fichier d'aide associé à cette exception.(Hérité de Exception.)

System_CAPS_pubpropertyHResult

Obtient ou définit HRESULT, valeur numérique codée qui est assignée à une exception spécifique.(Hérité de Exception.)

System_CAPS_pubpropertyInnerException

Obtient l'instance Exception qui a provoqué l'exception actuelle.(Hérité de Exception.)

System_CAPS_pubpropertyInnerExceptions

Obtient une collection en lecture seule de la Exception instances ayant provoqué l'exception actuelle.

System_CAPS_pubpropertyMessage

Obtient un message qui décrit l'exception actuelle.(Hérité de Exception.)

System_CAPS_pubpropertySource

Obtient ou définit le nom de l'application ou de l'objet qui est à l'origine de l'erreur.(Hérité de Exception.)

System_CAPS_pubpropertyStackTrace

Obtient une représentation sous forme de chaîne des objets immédiats sur la pile des appels. (Hérité de Exception.)

System_CAPS_pubpropertyTargetSite

Obtient la méthode qui lève l'exception actuelle.(Hérité de Exception.)

NomDescription
System_CAPS_pubmethodEquals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.(Hérité de Object.)

System_CAPS_protmethodFinalize()

Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)

System_CAPS_pubmethodFlatten()

Aplanit des instances AggregateException dans une nouvelle instance unique.

System_CAPS_pubmethodGetBaseException()

Retourne le AggregateException qui est la cause de cette exception.(Remplace Exception.GetBaseException().)

System_CAPS_pubmethodGetHashCode()

Fait office de fonction de hachage par défaut.(Hérité de Object.)

System_CAPS_pubmethodGetObjectData(SerializationInfo, StreamingContext)

Initialise une nouvelle instance de la classe AggregateException avec des données sérialisées.(Remplace Exception.GetObjectData(SerializationInfo, StreamingContext).)

System_CAPS_pubmethodGetType()

Obtient le type au moment de l'exécution de l'instance actuelle.(Hérité de Exception.)

System_CAPS_pubmethodHandle(Func<Exception, Boolean>)

Appelle un gestionnaire sur chaque Exception contenue dans cette AggregateException.

System_CAPS_protmethodMemberwiseClone()

Crée une copie superficielle du Object actuel.(Hérité de Object.)

System_CAPS_pubmethodToString()

Crée et retourne une représentation de chaîne de l’utilisateur actuel AggregateException.(Remplace Exception.ToString().)

NomDescription
System_CAPS_proteventSerializeObjectState

Se produit quand une exception est sérialisée pour créer un objet d'état d'exception qui contient des données sérialisées concernant l'exception.(Hérité de Exception.)

AggregateException est utilisé pour consolider plusieurs échecs dans un objet exception levable unique. Il est largement utilisé dans les Task Parallel Library (TPL) et Parallel LINQ (PLINQ). Pour plus d’informations, consultez la Aggregating Exceptions entrée dans le blog .NET Matters. Pour obtenir un exemple, consultez NIB : Comment : gérer les Exceptions levées par des tâches et How to: Handle Exceptions in a PLINQ Query.

L’exemple suivant intercepte la AggregateException exception et appelle le Handle méthode pour gérer chaque exception qu’il contient. Compilation et exécution de l’exemple avec la première task1 variable doit aboutir à un AggregateException un objet contenant un UnauthorizedAccessException exception. Commenter cette ligne, annulez la seconde task1 variable et de compiler et d’exécuter l’exemple produit un AggregateException un objet contenant un 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
Disponible depuis 8
.NET Framework
Disponible depuis 4.0
Portable Class Library
Pris en charge dans : portable .NET platforms
Silverlight
Disponible depuis 5.0
Windows Phone Silverlight
Disponible depuis 8.0
Windows Phone
Disponible depuis 8.1

Tous les membres publics et protégés de AggregateException sont thread-safe et peuvent être utilisés simultanément par plusieurs threads.

Retour au début
Afficher:
© 2016 Microsoft