【发布时间】:2018-05-17 14:40:41
【问题描述】:
即使文件已经存在,当我不处理 FileNotFoundException 时,构造函数 Formatter(String fileName) 似乎也无法编译。
这是有效的代码:
import java.util.*;
public class CreatingFiles {
public static void main(String[] args) {
final Formatter MYFILE;
try {
MYFILE = new Formatter("john.txt");
System.out.println("File created");
}
catch (Exception e) {
System.out.println("Error!");
}
}
}
但是,当我删除 try/catch 块时:
import java.util.*;
public class CreatingFiles {
public static void main(String[] args) {
final Formatter MYFILE;
MYFILE = new Formatter("john.txt");
}
}
编译器告诉我必须抛出或捕获异常。那么为什么不处理异常就不能工作呢?
【问题讨论】:
-
编译器不知道文件是否存在。所以你总是需要处理异常
-
dd 向主方法声明抛出异常
-
了解检查异常。
标签: java