1

这是一个代码片段

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.This 只是一个参考。每当需要捕获异常时,每个按钮单击事件都会出现问题。任何帮助。

4

1 回答 1

0

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

printStackTrace()将打印出异常的整个堆栈跟踪,以便更轻松地调试,但是要修复此错误,只需将您的 JOptionPane 语句更改为:

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

此外,您可能希望看到这个

于 2013-04-29T21:28:48.377 回答