有没有办法强制异常消息为Java 1.7的英文

时间:2013-06-18 01:39:41

标签: java jvm locale multilingual

我几乎尝试了一切,包括:

  1. 将系统区域和语言更改为“english US”
  2. 使用Locale.setDefaultLocale()
  3. 传入JVM参数
  4. 打印出来:

    Default locale is : en_US
    

    但我的应用程序仍然抛出异常中文异常消息

    这与Spring有什么关系吗? (我的应用程序基于Spring,但是没有与语言环境相关的配置,所以它应该只使用默认值)

    任何人都可以帮我吗?

    更新:

    我基本上得到的java.io.IOException中文消息相当于

      

    远程主机强行关闭现有连接

    更改区域设置似乎并没有影响到这一点,也许这确实是操作系统级别的事情?

2 个答案:

答案 0 :(得分:3)

“远程主机强行关闭现有连接”是标准错误消息from the Windows Sockets library(代码10054)。

在检索错误代码的错误消息时,FormatMessage函数的规范表明它将考虑用户或系统区域设置。据我所知,将系统区域和语言设置为英语美国应该这样做。也许中文版的Windows没有英语语言消息?

答案 1 :(得分:0)

Throwable.getLocalizedMessage()可能有效,假设您使用的库提供了本地化的异常消息。