import java.io.*;
class ex3
{
public static void main(String args[])
{
myfun();
}
static void myfun()
{
try
{
FileInputStream f = new FileInputStream("file.ytxt");
System.out.println("my fun");
}
catch(Exception e) //Line 1
{
System.out.println(e.getMessage());
}
catch(FileNotFoundException e) //Line 2
{
System.out.println("File Not Found Caught");
}
}
}
我创建了两个异常处理程序代码(一个是通用的,另一个是第 1 行和第 2 行中的特定代码)。
我的编译器在抱怨
ex3.java:24: error: exception FileNotFoundException has already been caught
catch(FileNotFoundException e)
^
1 error
我的问题是编译器怎么知道 try 块会抛出“FileNotFoundException”?