第九章测试1.
下面程序的运行结果是( )
public class Demo {
public static void main(String[] args) {
try {
System.out.println(10 / 0);
System.out.println("除法正常运行");
} catch (ArithmeticException e) {
System.out.println("除数不能为0");
}
}
}
A:输出:除数不能为0
B:编译通过,没有结果输出 C:输出:除法正常运行 D:编译失败
答案:A
2.
下面程序的运行结果是( )
public class Demo {
public static void main(String[] args) {
try {
System.out.println(10 / 0);
System.out.println("除法正常运行");
} catch (ArithmeticException e) {
System.out.println("除数不能为0");
}
}
}
A:编译通过,没有结果输出 B:编译失败 C:输出:除法正常运行 D:输出:除数不能为0 3.
下列关于自定义异常的说法中,错误的是( )
A:自定义异常继承Exception类后,具有可抛性 B:自定义异常要继承Exception类 C:自定义异常必须继承Error类 D:自定义异常可以在构造方法中用super关键字传递异常信息给父类 4.
下面( )选项可以使用static关键字修饰。
A:成员变量 B:成员内部类 C:成员方法 D:局部变量 5.
关于内部类,下面说法正确的是( )
A:内部类中不可以声明类变量 B:成员内部类是外嵌类的一个成员,可以访问外嵌类的其它成员 C:外嵌类可以访问成员内部类的成员 D:内部类可以被修饰为static内部类 6.
下列关于匿名内部类的描述,错误的是( )
A:匿名内部类是内部类的简化形式 B:匿名内部类可以有构造方法 C:匿名内部类的格式是"new 父类(参数列表) 或 父接口(){}" D:匿名内部类的前提是必须要继承父类或实现接口 7.
下列符号中,( )用于分隔throws关键字抛出的多个异常。
A:; B:, C:| D:& 8.
public class Example {
public static void main(String[] args) {
try{
int rst = 4/0;
System.out.println("rst = "+rst);
}catch(Exception e){
System.out.println("catch语句块执行");
return;
}finally{
System.out.println("finally语句块执行");
}
System.out.println("程序继续向下执行");
}
}
运行以上程序,输出的结果是( )
A:catch语句块执行 程序继续向下执行 B:catch语句块执行 finally语句块执行
C:catch语句块执行 D:0 程序继续向下执行 9.
以下对于try…catch语句描述正确的是( )
A:以上说法都不正确 B:try…catch语句处理程序中的错误 C:try...catch语句处理程序中的bug D:try...catch语句处理程序中的异常 10.
下列程序段的运行结果为( )。
public class Test{
public static void foo(int i){
try{
if(i==1){
throw new Exception();
}
System.out.print("1");
}catch(Exception e){
System.out.print("2");
}finally{
System.out.print("3");
}
System.out.print("4");
}
public static void main(String[] args){
foo(1);
}
}
A:234 B:1234 C:123 D:编译失败 11.
匿名内部类其实就是一个没有类名的内部类。( )
A:对 B:错 12.
throw关键字用于在方法上声明抛出异常的实例对象。( )
A:对 B:错 13.
自定义的异常类必须继承自Exception或其子类。()
A:对 B:错 14.
throws声明在一个方法上,说明这个方法一定会抛出异常。( )
A:对 B:错 15.
编译异常如果产生了,要求我们必须处理,要么捕获,要么抛出。()
A:错 B:对