如何以及在何处可以解释从java.lang.String返回的"3"的Java错误消息?

dww*_*n66 0 java exception-handling runtime-error

我正在运行一个Java程序,它将BufferedReader输入解析为分隔的字符串以输出到文件.成功从源文件中读取24行并将其保存到目标文件后,我收到与"读取文件的下一行"配对的3(使用getMessage())方法的错误消息.catchtry

当我将捕获更改为以下内容时,

    catch (Exception e)
    {
        System.err.println("Error: " + e.getMessage().getClass().getName());
    }
Run Code Online (Sandbox Code Playgroud)

被退回的catch结果Error: java.lang.String......但没有进一步的解释.文件中的错误字符?不正确的铸造?OutOfBounds作为另一条评论建议?任何其他想法如何从此错误中提取更多信息?

我已经在十六进制编辑器中查看了输入文件,并且行之间没有意外的EOF或空字符,输入数据在十六进制或文本编辑器中按预期显示,我找不到任何有关如何解释3错误消息的文档,甚至如何确定它是OS还是Java异常.

Ste*_*n D 5

而不是使用e.getMessage(),尝试使用e.printStackTrace().这将显示异常的完整详细信息,并指出正确的方向.

catch (Exception e)
{
    System.err.print("Error: ");
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

你也可以尝试:

catch (Exception e)
{
    System.err.println("Error: " + e);
}
Run Code Online (Sandbox Code Playgroud)