我对 throws 关键字有一些疑问。我将通过我的例子来解释我的。
从构造函数我调用 do1() 方法,从 do1() 方法我调用 do2() 方法。
现在 do2() 可以抛出检查异常“FileNotFoundException”。所以我声明并把它扔给被调用的方法。编译器再次要求我处理被调用的方法do2()和do2()的被调用方法构造函数。在构造函数(最后调用的方法)抛出它之后,如果发生任何异常,例如在do2()中找不到文件路径,则将处理异常?我们只是抛出它。我们没有抓住它。thorwing 本身足以处理异常。
public Parent() throws FileNotFoundException {
System.out.println("Super");
do1();
}
void do1() throws FileNotFoundException{
do2();
}
void do2() throws FileNotFoundException{
FileReader f=new FileReader("C:/as");
}