出NullPointerException

出NullPointerException

这是一个代码片段

private void viewscriptJButtonActionPerformed(ActionEvent evt){

    try{
        for (int j = 0; j <= i; j++) {
            scriptPane.setText(queryList.get(j).toString() + "\n");
        }
    }
    catch(Exception e)
    {
       JOptionPane.showMessageDialog(this,"error:\n"+e.getMessage().toString() + "\n" + e.getCause().toString() ,"Error",JOptionPane.ERROR_MESSAGE);
    }
}


catch块中的代码始终给出NullPointerException,这只是一个参考。每当需要捕获异常时,每个按钮单击事件都会发生此问题。
任何帮助。

最佳答案

您会发现,当异常原因本身是Exception#getCause()时,返回null,因此您的e.getCause().toString()将抛出NullPointerException。将它们链接在一起时,通常使用getCause方法查找根异常。

printStackTrace()将打印出异常的整个堆栈跟踪,从而使调试起来更容易,但是要解决此错误,只需将JOptionPane语句更改为:

JOptionPane.showMessageDialog(this,"error:\n"+e.getMessage().toString(),"Error",JOptionPane.ERROR_MESSAGE);


另外,您可能想查看this

07-24 22:17