有没有办法强制异常消息在Java 1.7中为英语

2022-09-03 16:06:17

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

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

它打印出来:

Default locale is : en_US

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

这与春天有什么关系吗?(我的应用程序基于Spring,但没有与区域设置相关的配置,因此它应该只使用默认值)

任何人都可以帮我吗?

更新:

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

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

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


答案 1

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

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


答案 2

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


推荐