2011-10-12 28 views
1

我有我在微軟的Windows XP cscript.exe執行腳本:在微軟的javascript中,是否有可能獲得錯誤對象的英文消息屬性?

try { 
    var fso = new ActiveXObject("Scripting.FileSystemObject"); 
    fso.GetFile("no_such_file"); 
} catch (e) { 
    WScript.Echo(e.message+" "+e.number); 
} 

的文本輸出取決於Windows XP中的語言。 例如在英文Windows XP中,我得到找不到-2146828235

,同時在意大利的Windows XP,我得到

文件

Impossibile trovare IL文件-2146828235

是否有可能得到英文信息無視操作系統語言?

+0

你爲什麼需要這個?用戶大概會希望以自己的語言查看消息,並且在程序中使用時,應該查看異常類型,而不是錯誤消息字符串。 – Spudley

+0

@Spudley這是一個要求:我需要寫一個錯誤日誌文件,它必須是英文的。 –

+0

想讓錯誤消息(或至少某個唯一標識符)保持一致的另一個原因是,您可以根據收到的錯誤在「catch」塊中運行不同的代碼。 – bluesmoon

回答

1

看起來你不能得到一個英語錯誤信息(如果有點妄想,這種方式是很好的,它表明標準不認爲英語是一種「特殊」或通用語言是首選其他自然語言),但是您可以獲得其他信息,這些信息可能會爲您的日誌記錄提供足夠的細節。即,有一個numbername屬性。由於您的目標是記錄錯誤,因此您可以記錄錯誤編號和名稱,並決定是否還記錄本地化的錯誤消息。

相關問題