java异常处理错题集
5.关于异常,下列说法正确的是
A、异常是一种对象
B、为了保证程序运行速度,要尽量避免异常控制
C、一旦程序运行,异常将被创建
D、以上说法都不对
答案 C
3.对于已经被定义过可能抛出异常的语句,在编程时
A、如果程序错误,必须使用 try/catch语句处理异常。
B、可以置之不理。
C、只能使用try/catch语句处理。
D、必须使用try/catch语句处理异常,或用throw将其抛出。
答案 D
下列程序的执行,说法错误的是
class MultiCatch
{
public static voidmain(String args[])
{
try
{
int a=args.length;
int b=42/a;
int c[]={1};
c[42]=99;//第10行
System.out.println(“b=”+b);
}
catch(ArithmeticException e)
{
System.out.println(“除0异常:”+e);//15
}
catch(ArrayIndexOutOfBoundsException e)
{
System.out.println(“数组超越边界异常:”+e);//19
}
}
}
A、程序第10行出错
B、程序将输出“b=42”
C、程序将输出第15行的异常信息
D、程序将输出第19行的异常信息
答案ABD 输出除零异常后就不会进行下面的catch语句
下列程序的执行,说法正确的是
class ExMulti
{
static voidprocedure()
{
try
{
int c[]={1};
c[42]=99;
}
catch(ArrayIndexOutOfBoundsException e)
{
System.out.println(“数组超越界限异常:”+e);
}
}
public static voidmain(String args[])
{
try
{
procedure();
inta=args.length;
int b=42/a;
System.out.println(“b=”+b);
}
catch(ArithmeticException e)
{
System.out.println(“除0异常:”+e);
}
}
}
A、程序将不输出异常信息
B、程序只输出第26行的异常信息
C、程序将输出第12行和第26行的异常信息
D、程序只输出第12行的异常信息
答案 C 嵌套try catch语句两个异常都会被捕获到