我有一个关于使用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
}