Надежность расширенных сведений об ошибках
Расширенные сведения об ошибке не являются надежными. Расширенные сведения об ошибках нельзя использовать для создания логики кода. Целесообразно проверка для наличия расширенных сведений об ошибках, а также, если они есть, для дампа, сохранения или записи в журнал этой информации. Но не следует полагаться на информацию или ее содержимое.
Ниже приведены причины, по которым расширенные сведения об ошибках не являются надежными.
- Последовательность и содержимое расширенных записей ошибок зависит от внутренней архитектуры системы, которая может быть изменена. Определенная операция может пройти через NPFS в текущих системах, но завтра может пройти через TCP. Эти различные компоненты создают очень разные коды ошибок, поэтому проверки кода по своей природе ненадежны и не рекомендуются.
- Распространение расширенных сведений об ошибках можно отключить, как описано ранее. Если код обнаружения включен, приложение, скорее всего, перестанет работать в определенных средах.
- Распространение расширенных сведений об ошибках выполняется наилучшим образом. Распространение или создание расширенных сведений об ошибках может завершиться ошибкой, если на компьютере недостаточно памяти для обработки или распространения цепочки. При таких обстоятельствах цепочка будет сброшена. Некоторые протоколы имеют ограниченную длину для пакетов сбоя, так как они обычно не содержат много информации. Если длина цепочки превышает допустимую длину пакета, время выполнения RPC начинает удалять данные из цепочки в попытке поместить цепочку в пакет. Первое время выполнения удаляет записи, начиная с предпоследней записи и переходя назад, пока не останется только первая и последняя записи. Если цепочка по-прежнему не помещается в пакет, во время выполнения удаляется строковые параметры и имена компьютеров. Если строковый параметр удаляется, тип параметра устанавливается равным None. При удалении записи флаг EEInfoNextRecordsMissing устанавливается в следующей записи, а EEInfoPreviousRecordsMissing — в предыдущей записи.