- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C#面向对象高级编程第11章:异常目标理解异常的概念了解异常的分类掌握try块、catch块和finally块掌握多重catch和嵌套try-catch了解throw子句的用法了解自定义异常回顾可以使用Array类的CreateInstance方法来创建Array对象,也可以直接创建数组对象集合用于管理在运行时动态创建的元素项ArrayList在Array的基础上提供了动态的特性用户可以使用Hashtable类将数据、键作为一组来存储,这些数据是根据键进行组织的Array类属于System命名空间,而ArrayList类属于System.Collections命名空间泛型可以提高减少程序的代码量,并能实现安全和提高效率ListT是最常用的泛型集合类异常异常异常(exception)是在运行过程中代码序列中产生一种例外情况一学期中,使用if...else...来控制异常//四则运算程序片段if(运算符号错误){ 报告错误}else if(数字超出范围){ 报告错误}else if(被除数为0){ 报告错误}else{ 正常运行}System. IndexOutOfRangeException处理异常C#语言在设计的当初就考虑到了异常处理,提出错误和异常处理的框架的方案,所有的异常都可以用一个类型来表示,不同类型的异常对应不同的子类异常,定义了异常处理的规范常见的异常类型异常说明Exception异常层次结构的根类RuntimeException当出现运行时错误,并且无法确定具体原因时,引发的异常。ArithmeticException算术错误,如除数为0IndexOutOfBoundsException数组下标越界NullReferenceException尝试取消引用空对象引用时引发的异常。IOExceptionI/O异常的根类SQLExceptionSQL数据库异常异常的处理C#异常处理通过4个关键字控制:try、catch、throw和 finallytry { //要监控是否有异常的代码}catch (ExceptionType1 ex1) { /*对异常进行必要的处理 */}catch (ExceptionType2 ex2) { /*对异常进行必要的处理 */}finally { //try块结束前必须将执行的代码块}try-catch结构try{ 代码A 代码B}catch(ExceptionType e){ 异常处理}代码C如果异常未被处理,程序中止运行期望:实际:实际:示例 class TestTryCatch { static int GetInt(int[] array, int index) { try { return array[index]; } catch (System.IndexOutOfRangeException e) // { System.Console.WriteLine(e.Message); //set IndexOutOfRangeException to the new throw new System.ArgumentOutOfRangeException(index parameter is out of range., e); } } } 捕捉异常一个try和它的catch语句形成了一个单元。catch子句的范围限制于try语句前面所定义的语句。一个catch语句不能捕获另一个try声明所引发的异常可以使用Exception对象的toString()及方法来帮助我们排除异常。int d, q;Console.Write (begin!);try { // 监控以下代码 d = 0; Console.Write(before exception!); q = 42 / d; Console.Write(after exception!);} catch (ArithmeticException e) { // 异常类型对象为ArithmeticException Console.Write(e.toString()); }Console.Write(end!);使用finally回收资源try{ 代码A 代码B 代码C}catch(ExceptionType e){ 异常处理代码D}finally{ 回收资源代码E}代码F 有些时候,try块内引用了一些物理资源,例如数据库连接、网络连接或磁盘文件等,那么一旦try块内出现异常,这些资源将无法保证被释放必须要有一种很确切的办法确保资源一定得到释放,而不管是否存在异常,这就是finally存在的原因try块有异常无异常catch块finally块B处异常:无异常:示例 public static int test
您可能关注的文档
- Linux基础教程(第3版) 第3章 X Window系统.ppt
- Linux基础教程(第3版) 第7章 进程管理.ppt
- Linux基础教程(第3版) 第8章 中文环境.ppt
- Linux基础教程(第3版) 第11章 用户管理.ppt
- Linux基础教程(第3版) 第12章 系统监控与备份.ppt
- Linux基础教程(第3版) 第14章 资源共享.ppt
- Linux基础教程(第3版) 第15章 内核升级.ppt
- Linux基础教程(第3版) 第16章 设备管理.ppt
- Linux基础教程(第3版) 第20章 远程系统管理.ppt
- Linux基础教程(第3版)第1章 Red Hat Linux简介.ppt
文档评论(0)