第06讲流程控制.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文档。上传文档
查看更多
第06讲流程控制

Visual C#.NET 天津农学院计算机科学与信息工程系软件教研室许晓华 异常处理语句 在编写程序时,不仅要关心程序的正常操作 也应该把握可能发生的各类不可预期的事件. 比如用户错误的输入、内存不够、磁盘出错、网络资源不可用、数据库无法使用等 在程序中经常采用异常处理方法来解决这类现实问题 C#中的异常提供了一种处理系统级错误和应用程序级错误的结构化的统一的类型安全的方法 以下为例,如果输入的不是数字,而是其他字符,程序会出错,报告一个未处理的异常。 using System; class Class_02_18 { public static void Main(String[] args) { string sTemp; int iCount; Console.WriteLine(请输入一个数字: ); sTemp = Console.ReadLine(); iCount = Int32.Parse(sTemp); while(iCount-- 0) { Console.Write(* ); } } } 异常的实质 这个异常实际上是Int32.Parse()方法在遇到意外状况时所“抛出”的一个异常。 但是由于我们在代码中没有处理这个异常,所以异常机制中止了程序运行,并且把这个异常报告了出来。 异常抛出语句 throw 语句 throw 语句抛出一个异常: throw expression 带有表达式的 throw 语句抛出的异常是在计算这个表达式时产生的,这个表达式必须表示一个 System.Exception 类型或它的派生类型的值 如果对表达式的计算产生的结果是 null 则抛出的将是一个 NullReferenceException 异常 不带表达式的 throw 语句稍后介绍 异常处理语句 异常是由 try 语句来处理的 try 语句提供了一种机制来捕捉块执行过程中发生的异常,它有三种可能的形式 try -catch(s) try –finally try -catch(s)-finally 异常传播 在介绍 try 语句之前,先介绍一个重要的概念:异常传播 当一个异常被抛出以后,程序将控制权转移给 try 语句中第一个能够处理该异常的 catch 子句 这个从异常抛出到控制转移给合适的异常处理语句的过程就叫做异常传播 异常的解决方法 上一个例题比较好的解决方法是:在发生了异常的时候告诉用户:你的输入有问题。 要做到这一点,就要动用C#中的try……catch语句。 using System; class Class_02_24 { public static void Main(String[] args) { string sTemp; int iCount; Console.WriteLine(请输入一个数字: ); sTemp = Console.ReadLine(); try{ iCount = Int32.Parse(sTemp); for(int i = 0; i iCount; ++i) { Console.Write(* ); } } catch(Exception e) { Console.WriteLine(你输入的{0}不是一个有效的整数, sTemp); } } } 用try把程序代码括起来表示这段代码可能会出现异常,而catch就表示要“捕获”异常 在捕获到异常之后,Catch语句会执行它所括起来的语句。 有时,希望程序无论有没有发生异常都执行某些语句。 例如在上例中,不管程序有没有异常,都报告一下到底输出了几个*,这就要用到finally语句。 using System; class Class_02_25 { public static void Main(String[] args) { string sTemp; int iCount = 0; Console.WriteLine(请输入一个数字: ); sTemp = Console.ReadLine(); try{ iCount = Int32.Parse(sTemp); for(int i = 0; i iCount; ++i) { Console.Writ

文档评论(0)

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

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

1亿VIP精品文档

相关文档