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

时间:2013-10-15 19:10:34

标签: java exception-handling runtime-error

我正在运行一个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错误消息,甚至如何确定它是OS还是Java异常。

1 个答案:

答案 0 :(得分:5)

请尝试使用e.getMessage(),而不要使用e.printStackTrace()。这将显示异常的完整细节,并指出正确的方向。

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

您也可以尝试:

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