A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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("无法读取文件");
    }

4 个回复

倒序浏览
本帖最后由 何万县 于 2012-3-30 19:56 编辑

因为try是试着执行,若有错误,直接执行catch的内容,所以不需要异常处理
FileNotFoundException:当试图打开指定路径名表示的文件失败时,抛出此异常。 在不存在具有指定路径名的文件时,此异常将由 FileInputStream、FileOutputStream 和 RandomAccessFile 构造方法抛出。如果该文件存在,但是由于某些原因不可访问,比如试图打开一个只读文件进行写入,则此时这些构造方法仍然会抛出该异常
回复 使用道具 举报
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:53 编辑

1. FileNotFoundException 属于 IOException, 或者说IOException里包含 FileNotFoundException 。
2. 你将 IOException 改成同级别的 FilerException,就会抛出 FileNotFoundException ,这说明异常有级别、层次问题,要弄清楚谁是谁子类,谁包含于谁。
回复 使用道具 举报
FileNotFoundException当试图打开指定路径名表示的文件失败时,抛出此异常。 是三大异常里的检查性异常:程序正确,但因为外在的环境条件不满足引发。程序开发者必须考虑并处理这个问题,Java编译器强制要求处理这类异常,如果不捕获这类异常,程序将不能被编译。而现在用try/catch可以处理,你写的代码中
catch (IOException e) { }  ,FileNotFoundException就是IOException的一个子类。

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马