ch15_异常处理.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch15_异常处理

* 异常处理 执行校长 李 伟 C#程序设计) 教学内容 错误的分类 编译错误 实时错误 逻辑错误 异常处理 try..catch捕获异常 try..finally清除异常 try..catch..finally 常用的异常类 抛出异常 重点、难点 重点 错误分类、异常处理try语句的使用 难点 异常处理try语句的使用 错误的分类 编译错误 编译错误是由于不正确地编写代码而产生的。如果错误地输入了关键字(例如,将int简写为Int)、遗漏了某些必须的语句成分等,那么C#在编译应用程序时就会检测到这些错误,并提示相应的错误信息 实时错误 实时错误是指应用程序出现期间,一条语句试图执行一条不可能执行的操作而生的错误,如: int x=0,y=100; double d= y/x; 错误的分类 逻辑错误 逻辑错误是指程序的运行结果和程序员是设想有出入时产生的错误。这类错误并不导致程序在编译期间出现错误,较难发现,验证程序是否存在逻辑错误的唯一方法就是将运行结果与设计方案进行对照比较 异常处理 异常处理 C#提供了处理错误的机制,即使用异常类Exception为每种错误提供定制的处理,并把识别错误的代码和处理错误的代码分离开来 try..catch..catch捕获异常 正常情况下,程序流进入try控制块,如果没有错误发生,就会正常操作。当程序流离开try控制块后,如果没有发生错误,将顺序往下执行;当执行try时发生错误,程序流就会跳转到相应的catch语句块,其中包括带参数和不带参数的 错误的分类 try..finally清除异常 如果关心的是清除异常而不是错误处理,可以使用try..finally清除异常来实现,它不仅抑制了出错消息,而且所有包含在finally块中的代码在异常被引发后仍然会被执行 try..catch..finally处理所有异常 应用程序在处理异常时最有可能的途径是合并前面两种错误处理技术-捕获错误、清除并继续执行应用程序,这就用到了try..catch..finall语句 常用的异常类 DivideByZeroException除数为0 FormatException参数的格式不正确 IndexOutOfRangeException超出索引范围 InvalidCastException显示转换失败时引发 NullReferenceException引用空引用对象时引发 OutOfMemoryException无法为新语句分配内存是引发 OverflowException溢出 StackOverflowException栈溢出 抛出异常 异常的发生有两种可能 程序无法正常运行下去 通过throw语句无条件抛出异常。抛出的异常要用catch语句捕获,否则程序运行将中断 throw语句用法: throw [表达式]; 其中“表达式”类型必须是System.Exception或从System.Exception派生的类的类型。 throw语句也可以不带“表达式”,此时只能用在catch块中,在这种情况下,它重新抛出当前正在由catch块处理的异常 *

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档