第08章 异常处理.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第08章 异常处理

第8章 异常处理 8.1 异常简介 8.2 引发异常 8.3 异常的捕捉及处理 8.4 finally语句 8.5 关键字checked 和 unchecked 8.6 习题 8.1 异常简介 数学运算中,被零除是一个错误。在C#语言中,当除数和被除数中有一个是float或double型数被零除将返回一个PositiveInfinity(正无穷大)值;当一个负float或double型数被零除将返回一个 NegativeInfinity (负无穷大)值;当一个值为零的float或double型数被零除将返回一个NaN(不是数字)值。 其中PositiveInfinity 、egativeInfinity、 NaN 都是常量,它们在结构System.Single和System.Double中均有定义。 8.1 异常简介(续) 例: double d1=10/0.0; //值为PositiveInfinity double d2=0.0/0; //值为NaN float f=-1f/0; //值为NegativeInfinity 8.1 异常简介(续) 一个整数被零(零的类型为整数类型)除被认为一个错误。当除数是一个整数常量时,这种错误能被编译器发现。 int i=10/0; //编译错误 int d=10; d = d / 0; //编译错误 当除数是一个变量时,编译器并不能发现这种错误。这种错误只会在运行时表现出来。 8.1 异常简介(续) 除法运算表达式中的操作数有一个是decimal型时,被零除也被认为是一个错误。不过,只有参与这种除法运算的两个操作数都是常量时,被零除的错误才能被编译器发现,否则,这种错误只会在运行时表现出来。 例8-1 被零除异常 例8-1 被零除异常 using System; class DivideByZero { static void Main() { int i, j, k; i = 1; j = 0; Console.WriteLine(i); Console.WriteLine(j); k = i / j; Console.WriteLine(k); } } 8.1 异常简介(续) 异常是指程序运行过程中出现的非正常事件。是程序错误的一种。为保证程序安全运行,程序中需要对可能出现的异常进行相应的处理。 C#语言的异常处理机制可以将具体操作代码和异常处理代码分开,在一个地方集中处理异常。 C#语言的异常都是异常类的对象。框架类库中预定义了大量的异常类,每个异常类代表了一种异常错误。 每当C#程序出现运行错误时,系统就会创建一个相应的异常类对象(即异常)并引发。 8.1 异常简介(续) Exception:所有异常的基类 SystemException:框架类库中预定义异常的基类 ApplicationException:发生非致命应用程序错误时引发的异常 ArgumentException:所有参数异常的基类 ArgumentNullException:由不允许参数为空的方法引发 ArgumentOutOfRangeException:由验证参数是否位于给定范围内的方法引发 8.1 异常简介(续) ArithmeticException:在算术运算期间发生的异常的基类 ArrayTypeMismatchException:当数组存储给定的元素时,如果由于该元素的实际类型与数组的实际类型不兼容而导致存储失败,就会引发此异常 DivideByZeroException:在试图用零除整数或decimal值时引发 IndexOutOfRangeException:在试图为数组设置小于零或超出数组界限的索引时引发 InvalidCastException:当从基类型到接口或派生类型的显式转换在运行时失败时,就会引发此异常 8.1 异常简介(续) IOException:发生 I/O 错误时引发的异常 NullReferenceException:在需要使用引用对象的场合,如果使用 null 引用,就会引发此异常 OutOfMemoryException:在尝试通过new分配内存失败时引发 OverflowException:在 checked 上下文中的算术运算溢出时引发 StackOverflowException:当执行堆栈由于具有太多的挂起方法调用而耗尽时,就会引发此异常 8.1 异常简介(续) 异常类都定义有下述属性: Message //获取描述

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档