第12章异常处理 习题_第1页
第12章异常处理 习题_第2页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第12章异常处理一单项选择题123程序中的错误可以分为以下三类,除了【A)逻辑错误B)运行错误程序运行期间发生的错误称为【A)版本B)断点在C#程序中,可以使用try.catA)语法B)拼写】。C)自定义错误D)语法错误C)异常D)属性程序出现的【】错误。C)运行D)逻辑】。】。4以下关于C#的异常处理的叙述中,正确的是【A)一个try块后面只能跟随一个catch块B)在try.catch.finally块中,当发生异常时只执行相应catch块中的语句,不会执行finally块C)throw语句中必须指出抛出的异常D)try块后面必须跟catch块或finally块组合使用,不能单独使用5以下

2、关于try.catch.finall语句的叙述中,不正确的是【】。A)catch块可以有多个C)catch块和finally块都是可选的finally块6一般情况下,异常类存放在【】中A)System.Exception命名空间C)System命名空间7分析下列程序代码:B)finally块最多只能有一个D)可以只有try块,没有catch块和B)System.Diagnostics命名空间D)Exception命名空间intnum;trynum=Convert.ToInt32(Console.ReadLine();Catch/捕获异常当输入abc时,会抛出【A)FormatException

3、】异常。B)IndexOutOfRangExceptionC)OverflowException8用户定义的异常应该从【D)TypeLoadException】类中继承。A)ArgumentExceptionC)SystemExceptionB)IOExceptionD)Exception9.NETFramework中,处理异常是很有用的功能。一个try代码块可以有多个catch块与之对应。在多个catch块中,下面【】异常应该最后捕获。A)ExceptionB)StackOverflowExceptionC)SystemExceptionD)FormatException10.下列关于try

4、.catch.finally语句的说明中,不正确的是【】。A)catch块可以有多个B)finally块是可选的C)catch块是可选的D)可以只有try块11为了能够在程序中捕获所有异常,在catch语句的括号中使用的类名为【】。A)ExceptionC)FormatExceptionB)DivideByZeroExceptionD)以上三个均可12下列说法正确的是【】。A)在C#中,编译时对数组下标越界将作检查B)在C#中,程序运行时,数组下标越界也不会产生异常C)在C#中,程序运行时,数组下标越界是否产生异常由用户确定D)在C#中,程序运行时,数组下标越界一定会产生异常13关于catch

5、代码块说法正确的是【】。A)包含有可能会引发异常的语句块B)声明有可能会引发异常的类型C)一般不与try块配合使用,单独使用D)异常处理程序位于catch代码块中14Throw语句抛出的异常类型必须是【】。A)System.Show类型B)System类型C)任意类型D)System.Exception或从System.Exception派生的类型二填空题1. 与try块相关的【finally】块将一定被执行。2. 异常对象均是从【Exception】类派生而来的。3. 【try】块封装了可能引发异常的代码。4. 如果方法Convert.ToInt32的参数不是一个有效的整数值,可以抛出一个【

6、FormatException】异常。5. 数组下标越界时产生的异常是【IndexOutOfRangException】类型的异常。6. Exception类有两个重要的属性,其中【Message属性】属性包含对异常原因的描述信息。7. 在catch语句中列举异常类型时,DivideByZeroException异常应列在Exception异常的【前面】。(填前面或后面)8. 常用的异常处理关键字包括【try】、【catch】、【finally】、【throw】。三填空题和改错题1. 对于下列代码段,执行后输出结果是【】。intn,m;inta=newint5;n=10;m=10;tryfor

7、(inti=0;i=a.Length;i+)ai=i;n=1/(n-m);catch(DivideByZeroExceptione1)Console.WriteLineC产生零除异常!”);catch(IndexOutOfRangeExceptione2)Console.WriteLine(”产生数组访问越界异常!”);catchConsole.WriteLine(”产生异常!”);finallyConsole.WriteLineC异常处理完毕!”);答:输出结果如下:产生数组访问越界异常!异常处理完毕!2. 下列代码段中试图用try-catch-catch结构捕获和处理异常,其中有的地方是错

8、误的,请将错误的地方纠正过来。intm;inta=newint5;n=10;m=10;trym=int.Parse(“2000$”)for(inti=0;i=a.Length;i+)ai=i;catch(Exceptione1)Console.WriteLine(”产生异常:0,el.Message);catch(IndexOutOfRangeExceptione2)Console.WriteLine(”产生异常:0,e2.Message);答:需要将两个catch块的位置顺序对调过来。3对于下列代码段,执行后输出结果是【】。intn,m;n=l0;m=l0;tryn=l/(n-m);catc

9、h(Exceptione)Console.WriteLine(产生零除异常!”);return;finallyConsole.WriteLine(”在执行finally块中的语句.);答:输出结果如下:产生零除异常!在执行finally块中的语句4对于下面定义的类A:classApublicvoidg()tryintn=Convert.ToIntl6(200$);catch(Exceptione)执行下列语句时是否会出现异常?为什么?Aa=newA();a.g();答:不会出现异常,因为在类A的方法g()中虽然捕获了一个异常,但捕获后并没有对异常进行处理。*5.对于下列C#程序,执行后的输出结

10、果是【】。classProgrampublicstaticvoidThrowException()thrownewException(ThrowException);publicstaticvoidMain(stringargs)tryConsole.Write(Try);ThrowException();catch(Exceptione)Console.Write(0,e.Message);finallyConsole.Write(finally);答:程序的输出结果为:TryThrowExceptionfinally四问答题1程序错误有哪几类?语法错误,运行错误,逻辑错误2什么是异常?所有异常类型都派生于什么类?指在程序执行期间发生的错误或意外情况,都派生于Exception类3写出异常类中的两个常用属性,并指出它们分别有什么作用。Message

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论