【发布时间】:2015-12-28 00:17:50
【问题描述】:
我在main 方法中调用了一个名为readFile() 的方法,readFile() 会抛出 FileNotFoundException 但main 不会,如下所示:
public static void main(String[] args){
readFile();
}
public static void readFile() throws FileNotFoundException{
Scanner input = new Scanner(new File("file.txt"));
...
}
编译程序时,在main 方法中的readFile() 出现错误。看来我还需要在main 的标头中抛出异常。为什么我需要在main 和readFile() 的两个标头中都抛出异常?
【问题讨论】:
-
你需要抓住它,而不是扔掉它。
-
你想通过传播这个异常来达到什么目的?
-
因为 main 调用 readFile,并且如果 readFile 抛出 FileNotFound 异常,那么如果 main 没有捕获它,它将传播异常。因此,您要么需要在 main 中捕获异常,要么声明它可以抛出一个异常,尽管是间接的。
-
我认为您将人们与“为什么我需要抛出异常”混淆:我认为您的意思是“为什么我需要声明 main 可以抛出异常”
标签: java