- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11讲_程序调试和异常处理
第09讲 接口 余正红 wtuyzh@126.com 目标 理解如何调试应用程序和排除错误 掌握如何测试 C# 应用程序 了解测试和调试的区别 在程序中进行错误捕获和错误处理 调试的必要性 错误类型 调试过程 5-1 调试过程 5-2 调试过程 5-3 调试过程 5-4 调试过程 5-5 VS.NET 中的调试工具 5-1 VS.NET 中的调试工具 5-2 VS.NET 的调试工具 5-3 VS.NET 中的调试工具 5-4 VS.NET 中的调试工具 5-5 异常 C# 中的异常处理2-1 C# 中的异常处理2-2 System.Exception 3-1 System.Exception 3-2 System.Exception 3-3 try 和 catch 块 4-1 try 和 catch 块 4-2 try 和 catch 块 4-3 try 和 catch 块 4-4 使用 finally 多重 catch 块 2-1 总结 调试是搜寻和消除应用程序中的错误的过程 语法错误表示编译器无法理解代码 调试模式可用来重复编译和排除应用程序中的错误,直至能够成功运行 “局部变量”窗口允许用户监控当前程序中所有变量的值 单元测试和集成测试是测试大型应用程序的常用技术 当应用程序遇到运行时错误时,就会引发异常 C# 中的所有异常都派生自 Exception 类 * 武汉科技大学城市学院 SqlServer2005 C#程序设计 在事物处理过程中,系统显示错误消息 系统发生故障 必须重新输入全部信息 在部署应用程序前必须先对其进行调试 错误类型 语法错误 逻辑错误 运行时错误 语法错误、缺少括号等 在编译时确定 易于确定 错误的算法导致错误结果、公式错误等 在执行过程中确定 难以调试 内存泄漏、以零作除数、异常 在运行时确定 难以调试 调试器 观察程序的运行时行为 跟踪变量的值 确定语义错误的位置 查看寄存器的内容 查看内存空间 暂停 可在代码中插入“断点”,以便在特 定行处暂停执行该代码 右键单击所需代码行,以设置断点 选择“插入断点” 选择“调试” ?“继续”以便继续执行程序 .NET 集成开发环境 Debug模式 Release模式 “局部变量”窗口 “监视”窗口 “快速监视”对话框 “即时”窗口 跨语言调试 调试使用 .NET 框架编写的应用程序以及 Win32 本 机应用程序 加入正在运行的程序 调试多个程序 Visual Studio .NET 调试器的功能 李四 311320 47,000 王五 300124 张三 300123 余额 姓名 帐户 网上银行 张三转帐25000到李四的帐面上 0 20,000 数据库 系统将查询发送到数据库中 tranfer_money() { sendquery(); } ……. ……. 余额= 20000-25000 程序崩溃 拒绝交易 错误 系统出现故障 “C#”中的异常 ... INPUT Divisor IF Divisor = 0 THEN Result = Divident/Divisor .... 代码片段 1 输入除数 结果 = _ 0 2 4 GOTO PREVIOUS LINE 触发异常处理程序 ... INPUT Divisor Result = Divident/Divisor .... 代码片段 1 “用户自定义”错误检查机制 难以检查输入的任何“特殊字符” IF Divisor = 0 THEN GOTO PREVIOUS LINE IF Divisor 0 THEN PRINT “无效输入” 运行库 运行库应当提供“错误检查机制” InnerException StackTrace Source Message 属性 在 C# 程序中,引发异常共有以下两种方式 使用显式 throw 语句来引发异常。在此情况下,控制权将无条件转到处理异常的部分代码 使用语句或表达式在执行过程中激发了某个异常的条件,使得操作无法正常结束,从而引发异常 Try...Catch...Finally 滤水器 filter_water() { try { water(); } catch { impurities.Show(); } } ……. ……. 过滤水 杂质 //程序代码 //错误处理代码 try { //程序代码 } catch (IOException E) { //错误处理代码 } try { //程序代码 } catch (IOException E) { //错误处理代码 } I/O
文档评论(0)