第12章 异常处理 习题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第12章异常处理

一.单项选择题

1.程序中的错误可以分为以下三类,除了【】。

A) 逻辑错误B) 运行错误C) 自定义错误D) 语法错误2.程序运行期间发生的错误称为【】。

A) 版本B) 断点C) 异常D) 属性

3.在C#程序中,可以使用try…catch机制来处理程序出现的【】错误。

A) 语法B) 拼写C) 运行D) 逻辑

4.以下关于C#的异常处理的叙述中,正确的是【】。

A) 一个try块后面只能跟随一个catch块

B) 在try…catch…finally块中,当发生异常时只执行相应catch块中的语句,不会执行finally块

C) throw语句中必须指出抛出的异常

D) try块后面必须跟catch块或finally块组合使用,不能单独使用

5.以下关于try…catch…finall语句的叙述中,不正确的是【】。

A) catch块可以有多个B) finally块最多只能有一个

C) catch块和finally块都是可选的D) 可以只有try块,没有catch块和finally块

6.一般情况下,异常类存放在【】中。

A) System.Exception命名空间B) System.Diagnostics命名空间

C) System命名空间D) Exception命名空间

7.分析下列程序代码:

int num;

try

{ num= Convert.ToInt32(Console.ReadLine()); }

Catch

{ //捕获异常}

当输入"abc"时,会抛出【】异常。

A) FormatException B) IndexOutOfRangException

C) OverflowException D) TypeLoadException

8.用户定义的异常应该从【】类中继承。

A) ArgumentException B) IOException

C) SystemException D) Exception

9..NET Framework中,处理异常是很有用的功能。一个try代码块可以有多个catch块与之对应。在多个catch块中,下面【】异常应该最后捕获。

A) Exception B) StackOverflowException

C) SystemException D) FormatException

10.下列关于try…catch…finally语句的说明中,不正确的是【】。

A) catch块可以有多个B) finally块是可选的

C) catch块是可选的D) 可以只有try块

11.为了能够在程序中捕获所有异常,在catch语句的括号中使用的类名为【】。

A) Exception B) DivideByZeroException

C) FormatException D) 以上三个均可

12.下列说法正确的是【】。

A) 在C#中,编译时对数组下标越界将作检查

B) 在C#中,程序运行时,数组下标越界也不会产生异常

C) 在C#中,程序运行时,数组下标越界是否产生异常由用户确定

D) 在C#中,程序运行时,数组下标越界一定会产生异常

13.关于catch代码块说法正确的是【】。

A) 包含有可能会引发异常的语句块B) 声明有可能会引发异常的类型

C) 一般不与try块配合使用,单独使用D) 异常处理程序位于catch代码块中14.Throw语句抛出的异常类型必须是【】。

A) System.Show类型B) System类型

C) 任意类型D) System.Exception或从System.Exception派生的类型

二.填空题

1.与try块相关的【finally】块将一定被执行。

2.异常对象均是从【Exception】类派生而来的。

3.【try 】块封装了可能引发异常的代码。

4.如果方法Convert.ToInt32的参数不是一个有效的整数值,可以抛出一个【FormatException】异常。

5.数组下标越界时产生的异常是【IndexOutOfRangException】类型的异常。6.Exception类有两个重要的属性,其中【Message属性】属性包含对异常原因的描述信息。

7.在catch语句中列举异常类型时,DivideByZeroException异常应列在Exception异常的【前面】。(填前面或后面)

8.常用的异常处理关键字包括【try】、【catch 】、【finally 】、

【throw 】。

三.填空题和改错题

1.对于下列代码段,执行后输出结果是【】。

int n,m;

int[] a=new int[5];

n=10; m=10;

try

{ for(int i=0; i<=a.Length; i++) a[i]=i;

n=1/(n-m);

}

catch(DivideByZeroException e1)

{ Console.WriteLine("产生零除异常!"); }

catch(IndexOutOfRangeException e2)

{ Console.WriteLine("产生数组访问越界异常!"); }

catch { Console.WriteLine("产生异常!"); }

相关文档
最新文档