在此特定块中抛出异常。
try
{
transport.m_readListener.onReadTransport(transport);
}
catch (IOException e)
{
->onIOException(e,transport);
}
onIOException() 方法将其记录在日志中:
private void onIOException(IOException e, AbstractConnection connection)
{
String reason = e.getMessage();
...
log.error("Closing ",connection," because ",reason);
}
Java 8 中的 Reason 变量显示了正确的日语短语:
原因 :既存の接続はリモートホsutoに强制的に切断されました。
(含义:与远程主机的现有连接被强行断开)
当在 Java 9 上运行时,异常消息现在已损坏:
原因 :譌「蛰倥?ョ诽谤·邯壹?ッ繝ェ繝「繝シ繝?繝帙せ繝医↓蝾キ蜕カ逧?縺ォ蜕?哗ュ縺辅l縺セ縺励◆缧?
检查 Socket 端口是否仍然打开的代码块位于捕获 IOException 的 try catch 块内。来自 IOException 的消息是通过以下方式获取的
String reason = e.getMessage();
if (null == reason) reason = e.toString();
尝试运行该应用程序java.locale.providers=COMPAT、CLDR、SPI使其表现得像 Java 8 但什么也没有发生。有人对这个问题有想法吗?有人可以帮忙吗?谢谢!