黑马程序员技术交流社区
标题:
为什么这段代码可以不抛出FileNotFoundException?
[打印本页]
作者:
刘晓康
时间:
2012-3-30 13:46
标题:
为什么这段代码可以不抛出FileNotFoundException?
try {
BufferedReader br =
new BufferedReader(new FileReader(“d:/aa.txt”));
String s = null;
while((s=br.readLine())!=null){
fs.println(s);
}
br.close();
} catch (IOException e) {
fs.println("无法读取文件");
}
作者:
何万县
时间:
2012-3-30 13:49
本帖最后由 何万县 于 2012-3-30 19:56 编辑
因为try是试着执行,若有错误,直接执行catch的内容,所以不需要异常处理
FileNotFoundException:当试图打开指定路径名表示的文件失败时,抛出此异常。 在不存在具有指定路径名的文件时,此异常将由 FileInputStream、FileOutputStream 和 RandomAccessFile 构造方法抛出。如果该文件存在,但是由于某些原因不可访问,比如试图打开一个只读文件进行写入,则此时这些构造方法仍然会抛出该异常
作者:
王运科
时间:
2012-3-30 18:25
FileNotFoundException: 当试图打开指定路径名表示的文件失败时,抛出此异常。 在不存在具有指定路径名的文件时,此异常将由 FileInputStream、FileOutputStream 和 RandomAccessFile 构造方法抛出。如果该文件存在,但是由于某些原因不可访问,比如试图打开一个只读文件进行写入,则此时这些构造方法仍然会抛出该异常。
IOException的子类: ChangedCharSetException, CharacterCodingException, CharConversionException, ClosedChannelException, EOFException, FileLockInterruptionException,
FileNotFoundException
, FilerException, HttpRetryException, IIOException, InterruptedIOException, InvalidPropertiesFormatException, JMXProviderException, JMXServerErrorException, MalformedURLException, ObjectStreamException, ProtocolException, RemoteException, SaslException, SocketException, SSLException, SyncFailedException, UnknownHostException, UnknownServiceException, UnsupportedDataTypeException, UnsupportedEncodingException, UTFDataFormatException, ZipException
FileNotFoundException是IOException的子类,这里已经抛出IOException,就不用再抛FileNotFoundException了。
作者:
黄秋
时间:
2012-3-30 19:52
本帖最后由 黄秋 于 2012-3-30 19:53 编辑
1. FileNotFoundException 属于 IOException, 或者说IOException里包含 FileNotFoundException 。
2. 你将 IOException 改成同级别的 FilerException,就会抛出 FileNotFoundException ,这说明异常有级别、层次问题,要弄清楚谁是谁子类,谁包含于谁。
作者:
郑涛
时间:
2012-3-30 23:13
FileNotFoundException当试图打开指定路径名表示的文件失败时,抛出此异常。 是三大异常里的检查性异常:程序正确,但因为外在的环境条件不满足引发。程序开发者必须考虑并处理这个问题,Java编译器强制要求处理这类异常,如果不捕获这类异常,程序将不能被编译。而现在用try/catch可以处理,你写的代码中
catch (IOException e) { } ,FileNotFoundException就是IOException的一个子类。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2