- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
- C#面向对象程序设计 第2版 作者 郑宇军 CSCH6.ppt
- C#面向对象程序设计 第2版 作者 郑宇军 CSCH7.ppt
- C#面向对象程序设计 第2版 作者 郑宇军 CSCH8.ppt
- C#面向对象程序设计 第2版 作者 郑宇军 CSCH9.ppt
- C#面向对象程序设计 第2版 作者 郑宇军 CSCH10.ppt
- C#面向对象程序设计 第2版 作者 郑宇军 CSCH11.ppt
- C#面向对象程序设计 第2版 作者 郑宇军 CSCH12.ppt
- C#面向对象程序设计 第2版 作者 郑宇军 CSCH13.ppt
- C#面向对象程序设计 第2版 作者 郑宇军 CSCH14.ppt
- C#面向对象程序设计 第2版 作者 郑宇军 CSCH15.ppt
- C#应用程序设计教程 作者 耿肇英 赵建利 耿燚 第6章常用控件和类的使用.ppt
- C#应用程序设计教程 作者 耿肇英 赵建利 耿燚 第9章文件和流.ppt
- C#应用程序设计教程 作者 耿肇英 赵建利 耿燚 第10章多线程和Socket编程初步.ppt
- C#应用程序设计教程 作者 耿肇英 赵建利 耿燚 第11章数据库与ADO.ppt
- C#应用开发与实践 作者 胡学钢 第2章 C#程序的组成元素.ppt
- C#应用开发与实践 作者 胡学钢 第3章 变量和常量.ppt
- C#应用开发与实践 作者 胡学钢 第8章 面向对象程序设计基础.ppt
- C#应用开发与实践 作者 胡学钢 第10章 Windows窗体及控件.ppt
- C#应用开发与实践 作者 胡学钢 第11章 ADO.NET操作数据库.ppt
- C#应用开发与实践 作者 胡学钢 第12章 面向对象高级技术.ppt
最近下载
- 151页-【低空经济】低空无人机公共测试场与验证基地设计方案.pdf
- 理想 RISO 9050 7050 3050 7010 3010 闪彩印王中文技术维修手册 后面可以参考理想闪彩印王 EX7200 EX9050 EX9000 EX7250 系列中文维修手册 .pdf VIP
- 生物酶解技术.pptx VIP
- “素养导向”初中物理大单元教学策略及案例.docx VIP
- 小学四年级综合实践活动《衣服巧收纳》公开课课件.pptx VIP
- 公司建设项目全过程造价咨询工作规范.doc VIP
- 教学进度计划表.pdf VIP
- 直肠癌放射治疗靶区勾画.ppt
- 软件工程项目造价技术规范.pdf VIP
- 2025年左玉辉-环境学.pptx VIP
文档评论(0)