我正在尝试捕获异常,然后将其显示在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
为什么?
答案 0 :(得分:9)
因为异常rwe
不包含消息。例如,NullPointerException
通常就是这种情况。除了消息之外,您可能还希望包含异常类型(如果有消息)。
答案 1 :(得分:1)
您正尝试在JTextarea中显示异常消息。异常不需要有消息。也许这不是。