擴充錯誤資訊的可靠性
擴充錯誤資訊不可靠。 擴充錯誤資訊無法用於建置程式碼邏輯。 適合檢查是否有擴充錯誤資訊,如果有的話,請傾印、儲存或記錄該資訊。 但不要依賴資訊或其內容。
下列原因說明擴充錯誤資訊為何不可靠:
- 擴充錯誤記錄的順序和內容取決於系統的內部架構,這些架構可能會變更。 某些作業可能會經歷目前系統上的 NPFS,但明天可能會通過 TCP。 這些不同的元件會產生非常不同的錯誤碼,因此程式碼檢查原本就不可靠,不建議這麼做。
- 您可以停用擴充錯誤資訊的傳播,如先前所述。 如果包含偵測程式碼,應用程式可能會停止在特定環境中運作。
- 擴充錯誤資訊的傳播會以最佳方式執行。 如果電腦上沒有足夠的記憶體來處理或傳播鏈結,傳播或產生擴充錯誤資訊可能會失敗。 在這種情況下,將會卸載鏈結。 某些通訊協定對於錯誤封包的長度有限,因為它們通常不包含許多資訊。 如果鏈結的長度超過封包的允許長度,RPC 執行時間就會開始從鏈結卸載資訊,嘗試將鏈結放入封包中。 執行時間會先卸載記錄,從第二筆記錄開始,往回移動,直到只保留第一筆和最後一筆記錄為止。 如果鏈結仍然無法放入封包中,執行時間會卸載字串參數和電腦名稱稱。 如果卸載字串參數,參數的類型會設定為 none。 如果卸載記錄,則會在下一筆記錄中設定 EEInfoNextRecordsMissing 旗標,並在上一筆記錄中設定 EEInfoPreviousRecordsMissing。