0

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

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

    catch (Exception e)
    {
        System.err.println("Error: " + e.getMessage().getClass().getName());
    }

正在返回的catch结果Error: java.lang.String......但没有进一步的解释。文件中的错误字符?选角不正确?OutOfBounds 正如另一条评论所建议的那样?任何其他想法如何从这个错误中提取更多信息?

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

4

1 回答 1

5

而不是使用e.getMessage(),尝试使用e.printStackTrace()。这将显示异常的全部详细信息,并应为您指明正确的方向。

catch (Exception e)
{
    System.err.print("Error: ");
    e.printStackTrace();
}

你也可以试试:

catch (Exception e)
{
    System.err.println("Error: " + e);
}
于 2013-10-15T19:12:24.893 回答