我对 Java 中的异常类型感到困惑。在许多教程网站上,我看到 java 中有两种类型的异常
- 编译时异常
- 运行时异常
但是当我和一些java高手交谈时,据他们说没有编译时异常之类的东西。他们说这是编译时错误而不是异常,而且我在Java 文档中没有发现任何关于编译时异常的信息。但是当我运行以下程序时
File f = new File("C:/Documents and Settings/satyajeet/Desktop/satya.txt");
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String s = br.readLine();
System.out.println(s);
如果未提供 try catch,我得到以下输出。
D:\jdk1.6.0_19\bin>javac Testing.java
Testing.java:7: unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown
FileReader fr=new FileReader(f);
^
Testing.java:9: unreported exception java.io.IOException; must be caught or declared to be thrown
String s=br.readLine();
^
2 errors
那么我应该考虑这个错误还是编译时异常?