49、如果一个程序段中有多个catch,则程序会按如下哪种情况执行? ( ) A) 找到合适的异常类型后继续执行后面的catch B) 找到每个符合条件的catch都执行一次
C) 找到合适的异常类型后就不再执行后面的catch D) 对每个catch都执行一次
50、下列哪一段代码能够删除文件file.txt A、File f=new File(“file.txt”); f.delete();
B、RandomAccessFile f=new RandomAccessFile(“file.txt”,”rw”); f.delete();
C、FileOutputStream f=new FileOutputStream(“file.txt”); f.remove();
D、File f=new File(“file.txt”); File.delete(f);
51、下面哪一个流属于过滤流 A、InputStream B、FileInputStream C、DataInputStream D、FileReader
52、设有以下程序段 class TestException {
public static void main(String [] args) {
try{
return; }finally{
System.out.println(\ } } }
程序编译并执行,其结果将是 A、程序执行,但没有任何输出 B、程序输出finally
C、程序编译时出错,提示缺少catch
D、程序编译时出错,提示finally语句无法访问到。 53、下面哪一种流可以用来输入字符 A、InputStream B、OutputStream
C、InputStreamReader D、BufferedInputStream
二、填空题
1、数据越界抛出的异常类是 ,整数除零抛出的异常类是 ,算术溢出抛出的异常类是 。
2、写出4个常见的异常例子: 、 、 和 。重新抛出一个异常用 语句。 3、创建文件(c:\\test.txt)对象的语句是 ,DataInputStream对象提供 方法可以按行读取文件内容。
9
4、异常处理在内存中采用_ 堆栈 ____机制。
5、Java语言机制的优点主要有:把错误处理代码从___ 常规 ___中分离出来;按错误类
型和差别分组;对无法预测的错误的捕获和处理;克服了传统方法的错误信息有限的问题;把错误传播给调用堆栈。
6、用户定义异常是通过扩展__ Exception __类及_ throwable 类来刨建的。
7、在Java编程语言中,用_ try __, catch ___,__ finally ___语句来处理异常。
8、由于系统不能识别和创建用户_ 自定义的异常 ___,所以需要在程序的合适位置
创建__自定义异常对象 ___,并使用throw语句将该新异常对象抛出。
9、Java语言的异常处理机制中__ catch ___子句或_ finally ____子句可省略,但二者不能同时省略。
10、若抛出的异常类的对象不在catch之列,或者catch子句中包含__ 异常对象 ___
语句,则执行finally子句中的代码之后返_ 异常处理 ___。
11、使用管道流的时候,需要明确管道的__ ___是管道的接收方,而管道的__ ___
是管道的发送方。
12、输入输出在计箅机中有两个主要作用:_ 采集数据 ___和_ 提供数据处理结果 。
13、ByteArraylnputStream以__ 字节数组 _作为输入流。
14、所有的输出过滤流都是抽象类_ FilterOutputStream ____的子类。 15、字符输入流BufferedReader使用了__ PrintStream ____技术。 16、CharArrayWrlter类写入的是一个内部的__ 字符数组 ___。
17、stringWriter类写入的是一个内部的___ StringBuffer __。
18、流类处理的是文件的_ 内容 ___,而Flie类处理的是文件在磁盘上的_ 存储 ___。
19、从DataInlputStream对象dis的当前位置处读取一个字符串保存在变量str中的语句是 _
20、用FileInputStream类创建文件(c:\\test.txt)对象的语句是 ,DataInputStream对象提供 方法可以按行读取文件内容。 21、写出三个常见Exception的子类: 、 和 。
22、阅读下面的程序,写出带划线语句或注释,并写出该程序的作用: import java.io.*; public class Test {
public static void main(String args[]) { scanFiles(\ }
public static void scanFiles(String path) { if (path == null) return;
File f = new File(path); // if (!f.exists()) return;
if (f.isFile()) // System.out.println(f.getAbsolutePath()); else {
File dir[] = f.listFiles(); for (int i = 0; i < dir.length; i++)
scanFiles(dir[i].getAbsolutePath());//
10
} } } /*
创建path的File对象,对象引用名为f 判断f的对象是否为文件 递归调用scanFiles方法
该程序的作用是扫描C盘下所有的文件,并将文件的路径打印 */
23、阅读下面的程序Test.java,先填写空格的内容,然后写出运行结果:
1) import java.io.*; 2) public class Test{
3) public static void main(String argv[]){
4) ; //创建Test对象,对象名为t 5) System.out.println(t.fliton()); 6) }
7) public int fliton(){ 8) try{
//第9行的含义是: 9) FileInputStream din = new FileInputStream(\10) din.read();
11) }catch(IOException ioe){ //第11行的含义是: 12) System.out.println(\13) return -1; 14) }
15) finally{
16) System.out.println(\17) }
18) return 0; 19) } 20) }
如果文件test.txt与Test.java在同一个目录下,test.txt中仅有一行字符串“hello world!”,运行结果是什么? /*
Test t=new Test();
创建test.txt文件的FileInputStream对象,对象引用名为din 运行结果是: two 0 */
24、假设有一个文件为c:\\test.txt,则用FileInputStream类创建该文件引用对象fin的语句是 _____ ,用BufferedReader类去读取该文件需创建引用对象br的语句是____________________________________________________。 // FileInputStream fin=new FileInputStream(\
BufferedReader br=new BufferedReader(new FileReader(\
三、简答题
1、仔细阅读下面的程序,写出程序的执行顺序(写出编号):
11
public class UsingExceptions {
public static void main( String args[] ) {
try{
method1(); // 1 }catch(Exception e){
System.err.println(e.getMessage()); // 2 }
finally{
System.out.println(\ } }
public static void method1() throws Exception {
method2(); //4 }
public static void method2() throws Exception {
method3(); //5 }
public static void method3() throws Exception {
throw new Exception( \ } }
2、阅读下面的程序Test.java,先填写空格的内容,然后写出运行结果:
import java.io.*; public class Test{
public static void main(String argv[]){
; //创建Test对象,对象名为t System.out.println(t.fliton()); }
public int fliton(){ try{
//第9行的含义是: FileInputStream din = new FileInputStream(\ din.read();
}catch(IOException ioe){ //第11行的含义是: System.out.println(\ return -1; }
finally{
System.out.println(\ }
return 0; } }
如果文件test.txt与Test.java在同一个目录下,test.txt中仅有一行字符串“hello world!”,运行结果是什么?
12