如何抛出多语言异常

时间:2014-09-21 13:05:06

标签: c# asp.net .net multilingual

我有一个多语言的Web应用程序,我在前端使用资源文件来显示不同的文本。

我遵循了这种方法http://www.codeproject.com/Tips/586948/ASP-NET-Website-and-Csharp-with-Multi-Language

有没有办法在后端完成的异常处理根据所选的当前语言抛出异常?

1 个答案:

答案 0 :(得分:0)

你需要为此继承Exception的CustomException。(请注意永远不会捕获所有例外情况,只需要你的案例所需的异常,我只是给你写了一个例子。如果你抓住所有异常,你可能会丢失特定的信息当生产服务器出现问题时。就像我过去所说的那样,我用它来做DBConcurrencyException)

业务对象逻辑

try
{
    //some code
}
catch(Exception ex)
{
   CustomException newEx = new CustomException();
   newEx.Message = "Translate Multilanguage String depending of the user culture"
   throw newEx;
}

UI-part aspx.Page

try
{
    //some code which calls the BO logic with try/catch
}
catch(CustomException ex)
{
    Label1.Text = ex.Message;
}

如何将其用于验证目的:

if(myValue < 5)
   throw new CustomException("Value should not be under 5");