2010-11-02 36 views
0

如何在C#中使用指定的語言(英語)而不是UI語言顯示MSSQL異常消息?如何在C#中以指定語言(英語)顯示MSSQL異常消息?

我試着改變線程的CultureInfo,但它沒有改變任何東西。

+0

它與你的.Net框架語言沒有關係嗎?對於前者,如果您使用土耳其語.Net框架,您的例外信息顯​​示爲土耳其語。或者您可以創建自己的異常處理,如http://www.c-sharpcorner.com/UploadFile/rajeshvs/ExceptionHandlinginCSharp11282005051444AM/ExceptionHandlinginCSharp.aspx – 2010-11-02 08:09:19

+0

我不確定,「繞過」.Net Framework的語言(CultureInfo ) 不工作。 – lesderid 2010-11-02 08:15:45

回答

2

它與CultureInfo沒有關係,如果你想在異常消息中使用不同的語言,你需要安裝.NetFramework語言更新。例如,如果你安裝阿拉伯語的.net框架,你的例外訊息看起來像是阿拉伯語

+0

不是真的,請參閱http://stackoverflow.com/questions/209133/c-exception-messages-in-english – lesderid 2010-11-02 08:26:01

+0

好吧,去吧。 – 2010-11-02 08:33:10

1

:(不幸的是,在我的腦海裏沒有很好的解決方案,

我所能說的就是處理在不同的catch塊每個異常

像:

catch(TimoutException ex) { } 

catch(CommunicationException ex) { } 

,並得到適當的來自您的全局資源的異常消息

1

該消息在SQL Server上生成。框架應如何執行翻譯?

我做的是兩種類型來劃分例外:

  • 異常可以處理,所以翻譯成的CurrentUICulture。請記住,錯誤最有可能是非常技術性的,需要翻譯成用戶理解的內容。所以即使翻譯出來,外鍵異常也不是非常有用。
  • 異常不能像處理,並且被翻譯成通用消息「的不便表示抱歉......」

然後用於登錄異常到應用程序日誌等,我更喜歡使用英文文本。這迫使大多數開發人員或系統管理員瞭解正在發生的事情。

對於錯誤處理,您可以查看ELMAH

相關問題