JAVA第七章课后习题
1.“程序中凡是可能出现异常的地方必须进行捕获或拋出”,这句话对吗?
答:不是,RuntimeException类的异常可以不明确处理。
2.自定义一个异常类,并在程序中主动产生这个异常类对象
public class HelloWorld {
public static void test() throws HelloWorldtest {
throw new HelloWorldtest("1111","hzau");
}
public static void main(String args[]) {
try {
HelloWorld.test();
}
catch (HelloWorldtest e) {
e.printStackTrace();
System.out.println("a:"+e.getA());
System.out.println("b:"+e.getB());
}
}
}
class HelloWorldtest extends Exception {
private static String a;
private static String b;
public HelloWorldtest (String a, String b) {
super();
this.a = a;
this.b = b;
}
public String getA() {
return a;
}
public String getB() {
return b;
}
}
3.借助JDK帮助,请列举发生NullPointerException异常的一些情况
答:当应用程序试图在需要对象的地方使用 null 时,抛出该异常。这种情况包括:
调用 null 对象的实例方法。
访问或修改 null 对象的字段。
将 null 作为一个数组,获得其长度。
将 null 作为一个数组,访问或修改其时间片。
将 null 作为 Throwable 值抛出。
4.不执行程序,指出下面程序的输出结果;如果将黑体代码去掉,写出输出结果;如果再将斜体代码去掉,写出输出结果。
答:
1,exception000
finally111
finished
2, finally111
exception
finished
3, exception
finished
5.不执行程序,指出下面程序的输出结果。
13423