15

我几乎尝试了所有方法,包括:

  1. 将系统区域和语言更改为“美国英语”
  2. 使用 Locale.setDefaultLocale()
  3. 传入 JVM 参数

它打印出来:

Default locale is : en_US

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

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

谁能帮我这个?

更新:

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

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

更改语言环境似乎并没有影响这一点,也许这确实是操作系统级别的事情?

4

2 回答 2

3

“现有连接被远程主机强制关闭”是来自 Windows 套接字库(代码 10054)的标准错误消息。

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

于 2013-06-25T16:17:56.107 回答
0

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

于 2013-06-18T09:06:59.123 回答