我有一个关于使用Java Swing处理错误情况的查询。

我正在使用Netbeans开发一个简单的Java Swing应用程序。它是要加载文本文件,然后根据文本文件中找到的数字进行计算。 Swing主类包含JFrames和JPanels。

我有文件加载代码作为单独的类文件。它将读取的行数和数字列表返回给主Swing应用程序。

我意识到,如果文件读取失败(即尝试-> catch(Exception ex)),则整个应用程序将崩溃。处理上述情况导致的错误的最佳方法是什么?也就是说,文件加载代码崩溃了,我不希望整个程序崩溃。我希望程序说文件已损坏,并等待用户加载新文件。

有什么想法吗?

养乐多

最佳答案

捕获异常时,运行:

JOptionPane.showMessageDialog("File is corrupted. Please select a new file.");

然后再次显示文件对话框。

最好将其作为一个循环,在文件无效时继续执行此操作。如果存在损坏,则设置布尔标志并循环(只要设置了该标志),而不是引发异常。这样,当找到一个好的文件时,while循环将终止。

例:
public static void main(String[] args){
    boolean goodFile = false;

    while (!goodFile){
        JFileChooser chooser = new JFileChooser();
        chooser.showOpenDialog();

        goodFile = processFile(chooser.getSelectedFile());
    }
}

private boolean processFile(File file){
    //do you stuff with the file

    //return true if the processing works properly, and false otherwise
}

09-05 18:30