如何抛出多语言异常

本文关键字:异常 语言 何抛出 | 更新日期: 2023-09-27 18:23:58

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

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

有没有一种方法可以让在后台完成的异常处理根据当前选择的语言抛出异常?

如何抛出多语言异常

您需要CustomException来继承Exception。(请注意,永远不要捕获所有的异常,只捕获您的情况所需的异常,我刚刚给您写了一个例子。如果您捕获所有的例外,当生产服务器出现问题时,您可能会丢失特定信息。就像我过去说的,我将其用于DBConcurrentException)

业务对象逻辑

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

UI部件aspx。页面

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");