Java异常处理语句及解析
一、选择题
1.java中用来抛出异常的关键字是 (C)
A、tryB、catchC、throw D、finally
2.关于异常,下列说法正确的是 (A)
A、异常是一种对象
B、一旦程序运行,异常将被创建
C、为了保证程序运行速度,要尽量避免异常控制
D、以上说法都丌对
3.(A)类是所有异常类的父类。
A、Throwable B、ErrorC、ExceptionD、AWTError
4.java语言中,下列哪一子句是异常处理的出口 (C)
A、try{?}子句 B、catch{?}子句
C、finally{?}子句 D、以上说法都丌对
5.下列程序的执行,说法错误的是 (C)
public class MultiCatch
{
public static void main(String args[])
{
try
{
int a=args.length;
int b=42/a;
int c[]={1};
c[42]=99;
System.out.println(“b=”+b);
}
catch(ArithmeticException e)
{
System.out.println(“除0异常:”+e);
}
catch(ArrayIndexOutOfBoundsException e) {
System.out.println(“数组超越边界异常:”+e);
}
}
}
A、程序将输出第15行的异常信息
B、程序第10行出错
C、程序将输出“b=42”
D、程序将输出第15和19行的异常信息
6.下列程序的执行,说法正确的是 (D)
class ExMulti
{
static void procedure()
{
try
{
int c[]={1};
c[42]=99;
}
catch(ArrayIndexOutOfBoundsException e)
{
System.out.println(“数组超越界限异常:”+e);
}
}
public static void main(String args[])
{
try
{
procedure();
int a=args.length;
int b=42/a;
System.out.println(“b=”+b);
}
catch(ArithmeticException e)
{
System.out.println(“除0异常:”+e);
}
}
}
A、程序只输出第12行的异常信息
B、程序只输出第26行的异常信息
C、程序将不输出异常信息
D、程序将输出第12行和第26行的异常信息
7.下面程序抛出了一个“异常”并捕捉它。请在横线处填入适当内容完成程序。 class TrowsDemo
{
static void procedure() throws IllegalAccessExcepton
{
System.out.println(“inside procedure”);
throw_IllegalAccessException(“demo”);
}
public static void main(String args[])
{
try
{
procedure();
}
{
System.out.println(“捕获:”+e);
}
}
8.对于catch子句的排列,下列哪种是正确的(B )
A、父类在先,子类在后
B、子类在先,父类在后
C、有继承关系的异常不能在同一个try程序段内
D、先有子类,其他如何排列都无关
9.在异常处理中,如释放资源、关闭文件、关闭数据库等由(C )来完成。
A、try子句 B、catch子句
C、finally子句D、throw子句
10.当方法遇到异常又不知如何处理时,下列哪种说法是正确的(C )
A、捕获异常 B、抛出异常
C、声明异常 D、嵌套异常
11.哪个关键字可以抛出异常? (C)
A、transientB、 finallyC、 throw D、 static
12.一个异常将终止( A)
A、整个程序 B、叧终止抛出异常的方法
C、产生异常的try块 D、×上面的说法都丌对
二、填空题 Java异常处理 内部资料【机密】 交流QQ 250586262
1、catch子句都带一个参数,该参数是某个异常的类及其变量名,catch用该参数去与 __出现异常_____对象的类进行匹配。
2、java虚拟机能自动处理__运行异常_____异常。
3、变量属性是描述变量的作用域,按作用域分类,变量有局部变量、类变量、方法参 数和_______
4、捕获异常要求在程序的方法中预先声明,在调用方法时用try-catch-_finally_____语句捕 获并处理。
5、java语言认为那些可预料和不可预料的出错称为____异常_____