黑马程序员技术交流社区
标题:
关于抛出异常
[打印本页]
作者:
wuyuecns
时间:
2014-4-11 22:35
标题:
关于抛出异常
本帖最后由 wuyuecns 于 2014-4-12 16:16 编辑
下面这段代码为什么一定要加throws Exception?如果去掉编译无法通过。求高人解答
import java.io.File ;
import java.io.FileReader ;
import java.io.Reader ;
public class InputStreamDemo01{
public static void main(String args[]) throws Exception{ // 异常抛出,不处理
// 第1步、使用File类找到一个文件
File f= new File("d:" + File.separator + "显卡.txt") ; // 声明File对象
// 第2步、通过子类实例化父类对象
Reader input = null ; // 准备好一个输入的对象
input = new FileReader(f) ; // 通过对象多态性,进行实例化
// 第3步、进行读操作
char c[] = new char[2048] ; // 所有的内容都读到此数组之中
//int len=input.read(c);
input.read(c) ; // 读取内容
// 第4步、关闭输出流
input.close() ; // 关闭输出流
System.out.println("内容为:" + new String(c)) ; // 把byte数组变为字符串输出
}
}
复制代码
作者:
lwy0319
时间:
2014-4-12 05:26
input = new FileReader(f) ; 如果f代表的文件名称为空的话则读不到目录会报异常。
作者:
向日葵的曙光
时间:
2014-4-12 08:42
File f= new File("d:" + File.separator + "显卡.txt") ; // 声明File对象
// 第2步、通过子类实例化父类对象
Reader input = null ; // 准备好一个输入的对象
input = new FileReader(f) ;
这几条语句中,如果f创建失败或者为空,下面的语句就不会执行,就回报找不到文件异常
你需要明确的是,只要使用IO流中的类,就需要添加抛出异常,这是IO流的一个特点,记住就好
作者:
wuyuecns
时间:
2014-4-12 10:37
向日葵的曙光 发表于 2014-4-12 08:42
File f= new File("d:" + File.separator + "显卡.txt") ; // 声明File对象
...
谢谢!明白了
作者:
李程
时间:
2014-4-12 13:06
如果找不到要读的文件,就会抛出FileNotFoundException吧,,而且这个不是RuntimeException的子类异常,所以必须声明异常啊。。。否则你就只能在代码中try,,catch了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2