1
处理请看下面的代码IOException异常在多个方法
public class foo {
public static void main(String[] args) {
MyClass mc = new MyClass();
mc.read();
}
}
和
public class MyClass {
private BufferedWriter verb;
private String vFile;
MyClass()
{
try {
verb = new BufferedWriter(new FileWriter(vFile));
} catch(IOException e) {
System.out.println("Internal error1");
System.out.println(e.getMessage());
}
}
public void read()
{
// read a file and create an array
verb.write("Array created"); // ERROR
}
}
正如你可以看到write
不放在一个try..catch
块。我可以写一个捕获,但MyClass
有很多方法和verb.write
被严重使用。我也可以写public void read() throws IOException
来抛出异常给调用者,main()
。不过,我必须将mc.read()
放在try..catch
区块中。由于MyClass有很多方法,因此我必须将它们全部放在main()
的catch块中。
那么,有没有更好的方法来处理?是否有可能将与verb
相关的所有异常重定向到定义了try..catch的构造函数MyClass()
?
OT:为什么地球上您已经阅读名为***的方法***,实际上则正好相反:*** ***写? ? –
“重定向到构造函数”?你什么意思?构造函数总是首先执行,而您的'read'方法将在稍后执行。你怎么想像你可以将之后发生的事情“重定向”到之前发生的事情?时间旅行? –
请参阅更新后的帖子。 'read()'读取输入文件,然后在详细文件中写入消息。 – mahmood