C#应用程序设计教程 作者 耿肇英 赵建利 耿燚 第4章程序调试与异常处理.pptVIP

C#应用程序设计教程 作者 耿肇英 赵建利 耿燚 第4章程序调试与异常处理.ppt

  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文档。上传文档
查看更多
第4章 程序调试与异常处理 优秀的程序员能在最短的时间内定位错误的位置,从而提高编程效率,这就要需要掌握正确的程序调试和异常处理方法。 4.1 错误分类 程序错误主要分为3类,包括语法错误、逻辑错误和异常。本小节介绍这3种错误。 4.1.2 逻辑错误 程序编译成功,说明没有语法错误,运行后如果得不到所期望的结果,这说明程序存在逻辑错误。例如运算符使用不正确、语句次序不对、循环语句的结束条件不正确等,也可能是算法有问题。编译器不能捕捉或显示这类错误,需要仔细地阅读分析程序、通过调试器来帮助分析错误位置,分析产生错误的原因。 4.1.3 异常 在编写程序时,不仅要关心程序的正常操作,还应该考虑到程序运行时可能发生的各类不可预期的情况,比如用户输入错误、内存不够、磁盘出错、网络资源不可用、数据库无法使用等,所有这些错误被称作异常,不能因为这些异常使程序运行产生问题。C#语言采用异常处理语句来解决这类异常问题。 4.2 程序调试 源程序经过编译后没有发现语法错误,才能成为可执行文件,但是执行后可能并不能实现所需功能,这是由于存在逻辑错误,必须通过正确的调试方法才能发现逻辑错误。一般情况下,首先要分析某一逻辑错误发生的大概位置,在可能产生错误位置的前面代码处设置断点,运行程序后,当执行到断点后程序停止运行,采用逐语句执行方法,一次执行一条语句,并分析执行这条语句后的运行结果,直到找到逻辑错误。本节主要介绍在VS2005环境下进行程序调试的主要方法。 4.2.1 调试命令 1.启动 想要调试程序,就必须先启动调试器。可单击VS2005主菜单调试|启动菜单项(F5键)。启动后,程序要么正常结束,要么会执行到断点或出现异常处停止。 2.停止 要想结束调试,可以单击VS2005主菜单调试|停止调试菜单项(shift+F5键)。 3.设置断点 在代码窗口中选择怀疑存在问题的地方设置断点。方法是在要设置断点的代码处单击鼠标右键,在弹出的快捷菜单中选择“插入断点”。在编辑窗口的左边会出现一个红圆点。如下图所示。当程序运行到断点处会自动停下来(黄色箭头所指),此时用户可将鼠标放到关心的变量处,编译器会弹出提示栏,指出该变量的当前值,如下下图所示。 4. 逐语句 进入调试状态后,单击VS2005主菜单调试|逐语句菜单项(F11键),可以单步执行代码,一次执行一行。当遇到函数调用时,会跟踪到函数内部单步执行。 5. 逐过程 进入调试状态后,单击VS2005主菜单调试|逐过程菜单项(F10键),可以单步执行代码,一次执行一行。当遇到函数调用时,不会进入到函数内部,直接执行调用函数,然后在函数调用的下一条语句单步执行。 6. 跳出 单击VS2005主菜单调试|跳出菜单项(Shift+F11键),从函数内部跳出。一般情况下在怀疑有问题的代码处设置断点,然后结合逐语句、逐过程、跳出命令来定位错误。 7. 调试窗口 通过选择VS2005主菜单调试|窗口菜单项列出的不同窗口,可打开相应调试窗口(图4.4所示),便于用户跟踪、观察程序运行过程中各局部变量的取值情况、系统堆栈的使用情况等。 4.3 异常处理 一种程序语言一般都要提供一种捕获和处理异常的机制,C#的异常处理功能非常强大,所以异常都被定义为异常类,属于命名空间System.Exception或它的一个子类。本节通过被零除异常介绍C#语言处理异常的方法。 4.3.1 异常处理概述 【例4.1】如果一个数被零除,将产生异常,程序将停止执行。 using System; class Test { static void Main(string[] args) { int x,y,z; x = 5; y = 0; z = x / y; Console.WriteLine(z={0}., z); } } 程序运行后将在Z=X/Y语句处停止运行,VS2005运行界面如图4.5所示。图4.5指出该程序在运行过程中出现了一个被零除的错误,这种在运行阶段发生的错误通常称之为异常。为保证程序安全运行,程序中需要对可能出现的异常进行相应的处理。C#中当代码出现如零作除数、内存空间分配失败等错误时,系统就会自动创建异常对象,它们大多数是C#异常类的实例。System.Exception是异常类的基类,一般不直接使用,因为它不能反应具体的异常信息。有关异常类型请参阅.NET SDK文档。 4.3.2 try、catch和finally块 C#通常使用try语句来捕获和处理程序执行过程中产生的异常。try语句通常形式为: try { } catch(Exceptio

文档评论(0)

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

1亿VIP精品文档

相关文档