您的位置:首页 > 编程语言 > Java开发

Java基础(九)异常处理和断言

2017-08-27 14:23 519 查看
9-1 用于异常处理的关键字有哪些?

throw

throws

try

catch

finally

9-2 查找帮助文档,画出下列类的继承关系图。

java.lang.Throwable、java.lang.Error、java.lang.Exception、java.lang.OutOfMemory、java.io.IOException、java.io.StreamCorruptedException、java.net.MalformedURLException



9-3 根据上一题的继承关系图,如果下列程序第5行出现一个MalformedURLException类型的异常,那么输出结果有:

try {
//assume s is previously desfined
URL u=new URL(s);
// in is an ObjectInputStream
Object o=in.readObject();
System.out.println("Success");

catch(MalformedURLException e ){

System.out.println("Bad URL");
}

catch(StreamCorruptedException e){
System.out.println("Bad file contents");
}
catch (Exception e){
System.out.println("General exception");

}

finally{
System.out.println("Doing finally part");
}


输出结果为:

Bad URL

Doing finally part

9-4 如果第三行出现MalformedURLException异常,程序的输出是:

try
//s 是已定义的字符串
URL u=new URL(s);
//in 是一个objectInputStream流
Object o=in.readObject("Success");
}
catch(MalformedURLException e){
System.out.println("Bad URL");
}
catch(StreamCorruptedException e){
System.out.println("Bad file contents");

}

catch(Exception e){
System.out.println("General exception");

}
finally{
System.out.println(doing finally part);
}
System.out.println("Carrying on");


输出结果为:

Bad URL

diing finally part

Carrying on

9-5 如果第三行和第五行都没有异常。程序的输出是什么?

try{
//s是已定义的字符串
URL u=new URL(s);
//in是一个ObjectInputStream流
Object o=in.readObject();
System.out.println("Success");

}
catch(MalformedURLException e){
System.out.println("Bad URL");
}
catch(StreamCorruptedException e){
System.out.println("Bad life contents");

}
catch(Exception e){
System.out.println("General exception");
}
finally{
System.out.println("Doing finally part");

}
System.out.println("Carring on");


输出结果为:

Success

Doing finally part

Carrying on

9-6 下列那一个是出现异常的正确方式?

throws new IOException();
throws IOException;
throws IOException();
throw new IOException();


正确的是:

throw new IOException();

9-7 假定启用了断言,下列哪些断言语句会出现异常?

assert true:true;
assert true:false;
assert false:true;


assert false:true;将出现异常

9-8 如何设置才可以忽略断言语句?

将断言语句关闭

java-da 关闭所有用户类的assertion

java-dsa 关闭所有系统类的assertion

9-9 断言与C语言中的条件编译有什么区别?

9-10 对于方法:

int act(int value){
assert value>6:value<10;
return 10/value;
}


假定启用了断言,下面哪些语句将出现异常

act(4); 异常

act(6); 异常

act(10);

act(0); 异常
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: