Freigeben über


Zuverlässigkeit erweiterter Fehlerinformationen

Erweiterte Fehlerinformationen sind nicht zuverlässig. Erweiterte Fehlerinformationen können nicht zum Erstellen von Codelogik verwendet werden. Es ist angemessen, nach dem Vorhandensein von erweiterten Fehlerinformationen zu suchen, und falls vorhanden, diese Informationen abzubilden, zu speichern oder zu protokollieren. Verlassen Sie sich jedoch nicht auf die Informationen oder deren Inhalte.

Die folgenden Gründe erläutern, warum erweiterte Fehlerinformationen nicht zuverlässig sind:

  • Die Sequenz und der Inhalt der erweiterten Fehlerdatensätze hängen von der internen Architektur des Systems ab, die geändert werden kann. Ein bestimmter Vorgang kann NPFS auf aktuellen Systemen durchlaufen, aber morgen könnte TCP durchlaufen. Diese verschiedenen Komponenten generieren sehr unterschiedliche Fehlercodes, und Codeprüfungen sind daher grundsätzlich unzuverlässig und nicht empfohlen.
  • Die Verteilung erweiterter Fehlerinformationen kann deaktiviert werden, wie zuvor erläutert. Wenn Erkennungscode enthalten ist, funktioniert die Anwendung wahrscheinlich nicht mehr in bestimmten Umgebungen.
  • Die Verteilung erweiterter Fehlerinformationen erfolgt auf optimale Weise. Die Verteilung oder Generierung erweiterter Fehlerinformationen kann fehlschlagen, wenn nicht genügend Arbeitsspeicher auf dem Computer vorhanden ist, um die Kette zu verarbeiten oder zu verteilen. Unter solchen Umständen wird die Kette verworfen. Einige Protokolle verfügen über begrenzte Längen für Fehlerpakete, da sie in der Regel nicht viele Informationen enthalten. Wenn die Länge der Kette die zulässige Länge des Pakets überschreitet, beginnt die RPC-Laufzeit mit dem Ablegen von Informationen aus der Kette in einem Versuch, die Kette in das Paket einzupassen. Die Laufzeit legt Datensätze ab, beginnend mit dem vorletzten Datensatz, rückwärts, bis nur die ersten und letzten Datensätze verbleiben. Wenn die Kette immer noch nicht in ein Paket passt, fällt die Laufzeit Zeichenfolgenparameter und Computernamen. Wenn ein Zeichenfolgenparameter abgelegt 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.