Freigeben über


Zuverlässigkeit erweiterter Fehlerinformationen

Erweiterte Fehlerinformationen sind nicht zuverlässig. Erweiterte Fehlerinformationen können nicht zum Erstellen von Codelogik verwendet werden. Es empfiehlt sich, zu überprüfen, ob erweiterte Fehlerinformationen vorhanden sind, und falls vorhanden, diese Informationen abzuspeichern, zu speichern oder zu protokollieren. Verlassen Sie sich jedoch nicht auf die Informationen oder deren Inhalt.

Die folgenden Gründe erklären, warum erweiterte Fehlerinformationen nicht zuverlässig sind:

  • Die Reihenfolge und der Inhalt der erweiterten Fehlerdatensätze hängen von der internen Architektur des Systems ab, die sich ändern kann. Ein bestimmter Vorgang kann NPFS auf aktuellen Systemen durchlaufen, morgen könnte es jedoch über TCP gehen. Diese verschiedenen Komponenten generieren sehr unterschiedliche Fehlercodes, und Codeprüfungen sind daher von Natur aus unzuverlässig und nicht empfohlen.
  • Die Weitergabe erweiterter Fehlerinformationen kann deaktiviert werden, wie zuvor erläutert. Wenn Erkennungscode enthalten ist, funktioniert die Anwendung wahrscheinlich nicht mehr in bestimmten Umgebungen.
  • Die Weitergabe erweiterter Fehlerinformationen erfolgt auf optimale Weise. Bei der Weitergabe oder Generierung erweiterter Fehlerinformationen kann ein Fehler auftreten, wenn auf dem Computer nicht genügend Arbeitsspeicher vorhanden ist, um die Kette zu verarbeiten oder zu verteilen. Unter solchen Umständen wird die Kette verworfen. Einige Protokolle haben eine begrenzte Länge für Fehlerpakete, da sie normalerweise nicht viele Informationen enthalten. Wenn die Länge der Kette die zulässige Länge des Pakets überschreitet, beginnt die RPC-Laufzeit, Informationen aus der Kette zu löschen, um die Kette in das Paket einzufügen. Die Laufzeit löscht Datensätze zuerst, beginnend mit dem vorletzten Datensatz, zurück, bis nur der erste und der letzte Datensatz verbleiben. Wenn die Kette immer noch nicht in ein Paket passt, werden durch die Laufzeit Zeichenfolgenparameter und Computernamen gelöscht. Wenn ein Zeichenfolgenparameter gelöscht wird, wird der Typ des Parameters auf none festgelegt. Wenn ein Datensatz gelöscht wird, wird das EEInfoNextRecordsMissing-Flag im nächsten Datensatz festgelegt, und EEInfoPreviousRecordsMissing wird im vorherigen Datensatz festgelegt.