Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

AggregateException-Klasse

.NET Framework (current version)
 

Veröffentlicht: Oktober 2016

Stellt Fehler dar, die beim Ausführen einer Anwendung auftreten.

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

System.Object
  System.Exception
    System.AggregateException

[SerializableAttribute]
public class AggregateException : Exception

NameBeschreibung
System_CAPS_pubmethodAggregateException()

Initialisiert eine neue Instanz der AggregateException-Klasse mit einer vom System generierten Meldung, die den Fehler beschreibt.

System_CAPS_pubmethodAggregateException(Exception[])

Initialisiert eine neue Instanz der dem AggregateException Klasse durch Verweise auf die inneren Ausnahmen, die die Ursache dieser Ausnahme sind.

System_CAPS_pubmethodAggregateException(IEnumerable<Exception>)

Initialisiert eine neue Instanz der dem AggregateException Klasse durch Verweise auf die inneren Ausnahmen, die die Ursache dieser Ausnahme sind.

System_CAPS_protmethodAggregateException(SerializationInfo, StreamingContext)

Initialisiert eine neue Instanz der AggregateException-Klasse mit serialisierten Daten.

System_CAPS_pubmethodAggregateException(String)

Initialisiert eine neue Instanz der AggregateException-Klasse mit einer angegebenen Meldung, die den Fehler beschreibt.

System_CAPS_pubmethodAggregateException(String, Exception)

Initialisiert eine neue Instanz der AggregateException-Klasse mit einer angegebenen Fehlermeldung und einem Verweis auf die innere Ausnahme, die diese Ausnahme ausgelöst hat.

System_CAPS_pubmethodAggregateException(String, Exception[])

Initialisiert eine neue Instanz der dem AggregateException Klasse mit einer angegebenen Fehlermeldung und Verweise auf die inneren Ausnahmen, die die Ursache dieser Ausnahme sind.

System_CAPS_pubmethodAggregateException(String, IEnumerable<Exception>)

Initialisiert eine neue Instanz der dem AggregateException Klasse mit einer angegebenen Fehlermeldung und Verweise auf die inneren Ausnahmen, die die Ursache dieser Ausnahme sind.

NameBeschreibung
System_CAPS_pubpropertyData

Ruft eine Auflistung von Schlüssel-Wert-Paaren ab, die zusätzliche benutzerdefinierte Informationen über die Ausnahme bereitstellen.(Geerbt von „Exception“.)

System_CAPS_pubpropertyHelpLink

Ruft einen Link zur Hilfedatei ab, die dieser Ausnahme zugeordnet ist, oder legt einen Link fest.(Geerbt von „Exception“.)

System_CAPS_pubpropertyHResult

Ruft HRESULT ab oder legt HRESULT fest. Dies ist ein codierter Wert, der einer bestimmten Ausnahme zugeordnet ist.(Geerbt von „Exception“.)

System_CAPS_pubpropertyInnerException

Ruft die Exception-Instanz ab, die die aktuelle Ausnahme verursacht hat.(Geerbt von „Exception“.)

System_CAPS_pubpropertyInnerExceptions

Ruft eine schreibgeschützte Auflistung von der Exception Instanzen, die die aktuelle Ausnahme verursacht hat.

System_CAPS_pubpropertyMessage

Ruft eine Meldung ab, die die aktuelle Ausnahme beschreibt.(Geerbt von „Exception“.)

System_CAPS_pubpropertySource

Gibt den Namen der Anwendung oder des Objekts zurück, die bzw. das den Fehler verursacht hat, oder legt diesen fest.(Geerbt von „Exception“.)

System_CAPS_pubpropertyStackTrace

Ruft eine Zeichenfolgendarstellung der unmittelbaren Frames in der Aufrufliste ab.(Geerbt von „Exception“.)

System_CAPS_pubpropertyTargetSite

Ruft die Methode ab, die die aktuelle Ausnahme auslöst.(Geerbt von „Exception“.)

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_protmethodFinalize()

Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Geerbt von „Object“.)

System_CAPS_pubmethodFlatten()

Fasst AggregateException-Instanzen zu einer einzelnen neuen Instanz zusammen.

System_CAPS_pubmethodGetBaseException()

Gibt die AggregateException , die Ursache dieser Ausnahme.(Überschreibt Exception.GetBaseException().)

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetObjectData(SerializationInfo, StreamingContext)

Initialisiert eine neue Instanz der AggregateException-Klasse mit serialisierten Daten.(Überschreibt Exception.GetObjectData(SerializationInfo, StreamingContext).)

System_CAPS_pubmethodGetType()

Ruft den Laufzeittyp der aktuellen Instanz ab.(Geerbt von „Exception“.)

System_CAPS_pubmethodHandle(Func<Exception, Boolean>)

Ruft einen Handler für jede Exception in dieser AggregateException auf.

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von „Object“.)

System_CAPS_pubmethodToString()

Erstellt und gibt eine Zeichenfolgendarstellung des aktuellen AggregateException.(Überschreibt Exception.ToString().)

NameBeschreibung
System_CAPS_proteventSerializeObjectState

Tritt auf, wenn eine Ausnahme serialisiert wird, um ein Ausnahmezustandsobjekt zu erstellen, das serialisierte Daten für die Ausnahme enthält.(Geerbt von „Exception“.)

AggregateExceptionwird verwendet, um mehrere Fehler in einem einzelnen, auslösbares Ausnahmeobjekt zu konsolidieren. Wird häufig in verwendet das Task Parallel Library (TPL) und Parallel LINQ (PLINQ). Weitere Informationen finden Sie unter der Aggregating Exceptions Eintrag im Blog .NET von Bedeutung. Ein Beispiel finden Sie unter NIB: Vorgehensweise: Behandeln Ausnahmen, die von Aufgaben ausgelöste und How to: Handle Exceptions in a PLINQ Query.

Das folgende Beispiel fängt die AggregateException Ausnahme und ruft die Handle Methode, jede Ausnahme zu behandeln, er enthält. Kompilieren und Ausführen des Beispiels mit dem ersten task1 Variable sollten dazu führen, ein AggregateException -Objekt, enthält eine UnauthorizedAccessException Ausnahme. Auskommentieren eines dieser Zeile, die auskommentierung der zweiten task1 Variable, und kompilieren und Ausführen von erzeugt die Beispiel ein AggregateException -Objekt, enthält ein IndexOutOfRangeException Ausnahme.

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)

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 4.0
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 5.0
Windows Phone Silverlight
Verfügbar seit 8.0
Windows Phone
Verfügbar seit 8.1

Alle öffentlichen und geschützten Member der AggregateException sind threadsicher und können von mehreren Threads gleichzeitig verwendet werden.

Zurück zum Anfang
Anzeigen: