老实说,我对异常处理不是很有经验,因为经常因为我的懒惰,我倾向于不处理异常。所以这是一个非常基本的问题。
我想知道用异常处理方法完成这种情况的最干净的方法是什么:
我有一个类(ConfigManager),它在其构造函数中读取一个文件,并且需要该文件存在才能正确构造,作为构造函数参数给出。如果该文件不存在,我想捕获 FileNotFoundException,使用一些默认值创建该文件,然后使用现在可用的默认配置文件继续创建 ConfigManager 对象。
这是一些代码:
class ConfigManager{
ConfigManager(String file){
try{
builder = builderFactory.newDocumentBuilder();
document = builder.parse (new FileInputStream(file));
....
}catch (FileNotFoundException e) {
File configFile = new File (file);
try {
configFile.createNewFile();
BufferedWriter writer = new BufferedWriter(new FileWriter(configFile));
writer.write(this.defaultConfig);
writer.close();
return new ConfigManager(string); //Here's the problem. I can't do that but I need to try build ConfigManager again. How do that?
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
创建默认配置文件后,如何构造新的 ConfigManager 对象?这是处理此类异常的正确方法吗?
提前致谢