Java - getMessage()返回null

时间:2010-08-20 20:29:05

标签: java

我正在尝试捕获异常,然后将其显示在JTextArea中但我得到null ...

这是:

} catch (Exception rwe) {
                  // System.exit(0);
                  game.remove(yPanel);
                  game.remove(xPanel);
                  game.remove(roomPanel);
                  game.remove(userPanel);
                  game.remove(titlePanel);
                  game.remove(introPanel);
                  remove(game);
                  remove(sp);
                  remove(invOne);
                  remove(main);
                  remove(say);
                  add(statusPanel);
                  JTextArea errorText = new JTextArea();
                  errorText.append("Here is the reason why it crashed:\n" +rwe.getMessage());
                  errorText.setPreferredSize(new Dimension(500,300));
                  System.out.println("errorrr:" + rwe.getMessage());
                  statusPanel.add(errorText);

            statusPanel.setOpaque(true);
            labelStatus.setVisible(true);
                  System.out.println("Server crashed");
                  c.append("\nServer crashed...");
                  rwe.printStackTrace();
            }

当发生错误时,我会在JTextArea中找到它:

Here is the reason why it crashed:
null

为什么?

2 个答案:

答案 0 :(得分:9)

因为异常rwe不包含消息。例如,NullPointerException通常就是这种情况。除了消息之外,您可能还希望包含异常类型(如果有消息)。

答案 1 :(得分:1)

您正尝试在JTextarea中显示异常消息。异常不需要有消息。也许这不是。