2010年7月18日星期日

.NET將中文Exception Message轉回英文

假如有人問我軟件上為什麼會優先使用中文版,對我來說其實只是介面上比較親切,中文或英文版使用上都是一樣。
不過如果是開發軟件的IDE,某程度上使用英文版較好,因為輸出的Error Message,放在Google搜尋答案都易一些。

以我自己的平台為例,Windows 7 / .NET Framework / VS2010都是繁中,輸出的Exception Message當然會是繁體中文。
try
{
object obj = "abcd";
double d = Convert.ToDouble(obj); 
}
catch (Exception ex)
{
System.Diagnostics.Debug.Print(ex.Message); //Output : 輸入字串格式不正確。
}

那怎樣轉為英文? 方法如下 :
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");
try
{
object obj = "abcd";
double d = Convert.ToDouble(obj); 
}
catch (Exception ex)
{
System.Diagnostics.Debug.Print(ex.Message); //Output : Input string was not in a correct format.
}
但繁中卻不可能轉成簡中,其他語系如日文更不可能,因為英文是.NET Framework的母系語言。

沒有留言:

發佈留言