网站大量收购闲置独家精品文档,联系QQ:2885784924

C#编程设计课件4.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Professional C# Programming 异常处理 Contents 异常的概念 异常是指程序运行期间发生的问题或者错误,但是这个问题只是有可能发生,并不频繁 例如:在进行除法运算时,除数为0将会引发一个异常,但是这个错误一般情况下用户是可以避免的,并不频繁发生 程序员可以编写一段程序,用于发生异常时进行相关的处理,例如提示用户的操作有误等 一段伪代码 执行一个任务 如果前一个任务未能正确执行 就执行错误处理 执行下一个任务 如果前一个任务未能正确执行 就执行错误处理 …… 这段伪代码中,首先执行一个任务,然后测试这个任务是否已经正确执行,如果没有,就执行错误处理,否则,就继续执行下一个任务 这段伪代码完全可以通过程序的控制结构来实现,但是对于大型应用程序来说,会带来许多问题 只使用控制结构来进行异常处理的问题 把程序逻辑和错误处理逻辑混杂在一起会使程序变得难以阅读、修改、维护和调试,因此是一种不明智的解决方法 另外一个问题是:如果潜在的异常不是频繁地发生,那么把程序逻辑和错误处理逻辑混杂在一起,会降低程序的性能,因为程序必须测试额外的条件,才能判断出是否可以执行下一个任务 异常处理的概念 异常处理是程序设计语言所提供的功能,程序员可以使用它将异常处理代码从程序的执行流程中移除,这样可以使得程序代码的结构更加清晰,而且更加易于修改 在.Net Framework中预定义了一些可能的异常类型,例如格式错误、非法运算等;程序员只需要将按照这些异常类型进行相关的处理就可以了 过去,程序员使用许多不同的技术来实现错误处理代码处理,这使得程序员之间的交流变得很麻烦;异常处理统一了错误处理机制,因此更加便于程序员理解其它程序员编写的错误处理代码 DivideByZeroTest.cs 下面我们来一起看一个异常处理的演示程序DivideByZero.cs 这个程序的效果是通过文本框输入两个整数,并进行相除运算 程序的运行效果详见课堂演示 DivideByZero.cs中可能发生的异常 这个程序中可能发生的异常,主要包括以下两种: 文本框中输入的不是整型数据 分母为0导致无法进行运算 因此,异常处理主要针对这两种问题进行处理 使用异常处理的步骤 使用try关键字封装可能发生异常的代码块: try { int numerator=int.Parse(textBox1.Text); int denominator=int.Parse(textBox2.Text); int result=numerator/denominator; label3.Text=result.ToString(); } 使用catch关键字捕获发生异常后的处理方法 catch的参数是异常类型,封装的内容为异常类型对应的异常处理方法, catch紧接在try封装的代码块后,如果try代码块会产生多个异常类型,那么也会有对应的多个catch异常处理代码块 一旦编译器侦测到try中的代码发生异常,将会停止执行try中的代码,然后根据异常类型,寻找相匹配的catch代码块(根据catch的参数) try { int numerator=int.Parse(textBox1.Text); int denominator=int.Parse(textBox2.Text); int result=numerator/denominator; label3.Text=result.ToString(); } catch ( FormatException ){ MessageBox.Show ( “You must enter two integer”, … } 上述代码描述的是try代码块发生了FormatException时,catch中对应的异常处理方法,这个方法是程序员自己定义的 FormatException:用于描述数据格式异常 由于try代码块中的要求是输入整型数据: int numerator= int.Parse ( textBox1.Text ); 当输入为字符串时,上述语句无法将其转换为整型数据,这时编译器将产生FormatException异常;接下来将终止try代码块的执行,寻找匹配的参数为FormatException类型的catch代码块,并执行catch代码块中的异常处理代码 捕获除0异常 catch ( DivideByZeroException ) { MessageBox.S

文档评论(0)

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

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

1亿VIP精品文档

相关文档