1. 类Parent、Child定义如下:
public class Parent
{ public float aFun(float a, float b) throws
IOException { …… }
}
public class Child extends Parent{
} 将以下哪种方法插入行6是不合法的。( ) [单选题] *
float aFun(float a, float b){…… }(正确答案) |
public int aFun(int a, int b)throws Exception{ ……} |
public float aFun(float p, float q){ ……} |
public int aFun(int a, int b)throws IOException{ …… } |
2. 下列哪个叙述是错误的?
[单选题] *
匿名子类(和子类有关的匿名类)的类体中不可以声明static成员变量和static方法 |
接口匿名类(和接口有关的匿名类)的类体中不可以声明static成员变量和static方法 |
匿名类一定是内部类 |
Java使用throws关键字抛出一个Exception的子类的实例表示异常发生(正确答案) |
3. 下列哪个叙述是错误的?
[单选题] *
try…catch语句可以由几个catch组成,分别处理发生的相应异常 |
一个方法在声明时可以使用throws关键字声明要产生的若干个异常 |
一个方法在声明时可以使用throw关键字声明要产生的若干个异常(正确答案) |
throw的作用就是抛出异常对象,throw和throws是两个不同的关键字 |
4. 必须要对出现的异常进行处理,否则不能运行的异常类是( )
[单选题] *
Exception类 |
Error类 |
RuntimeException类 |
Exception类中的非RuntimeException类(正确答案) |
5. 下面关于Java中异常处理try块的说法不正确的是( )
[单选题] *
try块后通常应有一个catch 块,用来处理try块中抛出的异常。 |
catch 块后可以没有finally块 |
可能抛出异常的方法调用应放在try块中 |
对抛出的异常的处理必须放在try块中(正确答案) |
6. 以下关于java异常说法不正确的是( )。
[单选题] *
Throwable 类是 Java 语言中Error类和Exception类的父类 |
当异常对象是Exception类(或其子类)的实例时,能通过 Java 虚拟机或者 throw 语句抛出该异常对象,并能通过try…catch…finally处理 |
如果只用一个catch块捕捉多个异常对象,则catch 子句中的参数类型应是所有异常对象的父类(正确答案) |
以上说法都不对 |
7. 对于已经被定义过可能抛出异常的语句,在编程时:( )
[单选题] *
必须使用try/catch语句处理异常,或用throws将其抛出(正确答案) |
如果程序错误,必须使用 try/catch语句处理异常 |
可以置之不理 |
只能使用try/catch语句处理 |
8. 所有的异常和错误类皆继承哪一个类?( ) [单选题] *
java.io.Exception |
java.lang.Throwable(正确答案) |
java.lang.Exception |
java.lang.Error |
9. getCustomerInfo()方法如下,try中可以捕获三种类型的异常,如果在该方法运行中产生了一个IOException,将会输出什么结果()
public void getCustomerInfo() {
try { // do something that may cause an Exception
} catch (java.io.FileNotFoundException ex) {
System.out.print(""FileNotFoundException!"");
} catch (java.io.IOException ex) {
System.out.print(""IOException!"");
} catch (java.lang.Exception ex) {
System.out.print(""Exception!"");
} } [单选题] *
IOException!(正确答案) |
IOException!Exception! |
FileNotFoundException!IOException! |
FileNotFoundException!IOException!Exception! |
10. 程序读入用户输入的一个值,要求创建一个自定义的异常,如果输入值大于10,使用throw语句显式地引发异常,异常输出信息为"something wrong!",语句为()。 [单选题] *
A. if (i>10) throw Exception("something wrong!"); |
B. if (i>10) throw Exception e ("something wrong!"); |
C. if (i>10) throw new Exception("something wrong!");(正确答案) |
D. if (i>10) throw new Exception e ("something wrong!"); |
11. 分析下列Java代码:
class A{
public static void main(String[ ] args){
method( );
}
static void method( ){
try{
System.out.println("Hello");
System.exit(0);
}finally{
System.out.println("good-bye");
}
}
}
编译运行后,输出结果是( )
[单选题] *
A. Hello(正确答案) |
B. good-bye |
C. Hello \n good-bye |
D. 代码不能编译 |
12. 在Java 中,假定有一个包含引起异常(不是一个RuntimeException)的代码的方法,用什么方式告诉方法的调用者要捕获该异常。() [单选题] *
A. throw Exception |
B. throws Exception(正确答案) |
C. new Exception |
D. 不用特别指定 |
13. 研究下面的Java代码:
public class testException{
public static void main(String[ ] args){
int a[ ]={0,1,2,3,4};
int sum=0;
try{
for(int i=1;i<6;i++)
sum=sum+a[i];
System.out.println("sum=" + sum);
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("数组越界");
}finally{
System.out.println("程序结束");
}
}
}
输出结果将是( )。
[单选题] *
A. 10 数组越界\n 程序结束 |
B. 10 程序结束 |
C. 数组越界 \n 程序结束(正确答案) |
D. 程序结束 |
14. 下列说法正确的是() 多选 *
try块不可以省略(正确答案) |
可以使用多重catch块(正确答案) |
finally块可以省略(正确答案) |
catch块和finally块可以同时省略 |
15. 给出下面的不完整的方法
1
2 { success = connect();
3 if (success==-1) {
4 throw new TimedOutException();
5 }
6 }
已知TimedOutException 不是一个RuntimeException。下面的哪些声明可以被加入第一行完成此方法的声明( )
*
public void method() |
public void method() throws Exception(正确答案) |
public void method() throws TimedOutException(正确答案) |
public void method() throw TimedOutException |
16. 关于异常(Exception),下列描述正确的是( ) *
异常的基类为 Exception,所有异常都必须直接或者间接继承它 |
异常可以用 try{ . . .}catch(Exception e){ . . .}来捕获并进行处理(正确答案) |
如果某异常继承 RuntimeException,则该异常可以不被声明(正确答案) |
异常可以随便处理,而不是抛给外层的程序进行处理 |