2个问题,1:在try{}catch{}中,不受系统多语言设置的控制,也就是说,我指定系统按英文的语言资源显示,但在try{}这里面无效.
2:Exception.message是按操作系统的语言显示的,如何用程序控制它?

解决方案 »

  1.   

    Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-us");
    这样试试。
      

  2.   

    例子:    class Program
        {
            static void Main(string[] args)
            {
                Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("zh-cn");            
                try
                {
                    int.Parse("aaa");
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.ToString());
                }            Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-us");            try
                {
                    int.Parse("aaa");
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.ToString());
                }        }
        }
      

  3.   


    Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-us");
    try
    {
        int a = 5, b = 0;
        int c = a / b;
    }
    catch(Exception ex)
    {
        MessageBox.Show(ex.Message);
    }