TPnew9.ppt_第1页
TPnew9.ppt_第2页
TPnew9.ppt_第3页
TPnew9.ppt_第4页
TPnew9.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第九章 调试 测试和异常处理 2 回顾 WinForms单选按钮控件允许用户进行设置WinForms的图片框控件允许用户在窗体上添加和显示位图 元文件 JPEG GIF或PNG等格式的图形WinForms的选项卡控件将类似的功能集中在一起 放在一个对话框或窗口中WinForms的HScrollBar和VScrollBar用作水平和垂直滚动条 分别以水平和垂直方式浏览 或滚动 整个文档进度条控件用于指示操作的进度 并显示排列在水平条中一定数目的矩形 通常通过在程序中设置其Value值来显示任务完成的百分比 3 目标 理解如何调试应用程序和排除错误掌握如何测试C 应用程序了解测试和调试的区别在程序中进行错误捕获和错误处理 4 简介 应用程序开发 可以安装在客户端机器上 应用程序必须 无错误无故障可靠稳健 查找和排除错误或故障称为调试 5 调试的必要性 计算机化的计费系统 在事物处理过程中 系统显示错误消息 必须重新输入全部信息 在部署应用程序前必须先对其进行调试 6 错误类型 错误类型 语法错误 逻辑错误 运行时错误 语法错误 缺少括号等在编译时确定易于确定 错误的算法导致错误结果 公式错误等在执行过程中确定难以调试 内存泄漏 以零作除数 异常在运行时确定难以调试 7 调试过程5 1 调试器 观察程序的运行时行为 跟踪变量的值 确定语义错误的位置 查看寄存器的内容 查看内存空间 8 调试过程5 2 暂停 可在代码中插入 断点 以便在特定行处暂停执行该代码 9 调试过程5 3 右键单击所需代码行 以设置断点 选择 插入断点 10 调试过程5 4 选择 调试 继续 以便继续执行程序 11 调试过程5 5 NET集成开发环境 Debug模式 Release模式 12 VS NET中的调试工具5 1 局部变量 窗口 13 VS NET中的调试工具5 2 监视 窗口 14 VS NET的调试工具5 3 快速监视 对话框 15 VS NET中的调试工具5 4 即时 窗口 16 VS NET中的调试工具5 5 跨语言调试调试使用 NET框架编写的应用程序以及Win32本机应用程序加入正在运行的程序调试多个程序 VisualStudio NET调试器的功能 17 异常 网上银行 张三转帐25000到李四的帐面上 0 20 000 数据库 系统将查询发送到数据库中 tranfer money sendquery 余额 20000 25000 程序崩溃 拒绝交易 C 中的异常 18 C 中的异常处理2 1 INPUTDivisorIFDivisor 0THENResult Divident Divisor 代码片段1 输入除数 结果 0 2 4 GOTOPREVIOUSLINE 触发异常处理程序 19 C 中的异常处理2 2 INPUTDivisorResult Divident Divisor 代码片段1 用户自定义 错误检查机制 难以检查输入的任何 特殊字符 IFDivisor 0THENGOTOPREVIOUSLINEIFDivisor 0THENPRINT 无效输入 运行库 运行库应当提供 错误检查机制 20 System Exception3 1 21 System Exception3 2 22 System Exception3 3 在C 程序中 引发异常共有以下两种方式 使用显式throw语句来引发异常 在此情况下 控制权将无条件转到处理异常的部分代码使用语句或表达式在执行过程中激发了某个异常的条件 使得操作无法正常结束 从而引发异常 Try Catch Finally 23 try和catch块4 1 滤水器 filter water try water catch impurities Show 过滤水 杂质 程序代码 错误处理代码 try 程序代码 catch IOExceptionE 错误处理代码 24 try和catch块4 2 try 程序代码 catch IOExceptionE 错误处理代码 I O设备可以生成错误 25 try和catch块4 3 try 程序代码 catch E 错误处理代码 可处理系统中的任何一种异常 System Exception 26 try和catch块4 4 if UserInput100 thrownewInvalidNumberInput UserInput 不是有效输入 请输入1和100之间的数字 throw可用来引发自定义异常 InvalidNumberInput 27 使用finally try 程序代码 catch 错误处理代码 finally finally代码 无论控制流如何都会执行 28 多重catch块2 1 try 程序代码 catch IOExceptionE 错误处理代码 catch OutOfMemoryExceptionE 错误处理代码 用于捕捉两种异常的 catch 块 29 多重catch块2 2 publicclassMyCustomException System ApplicationException publicMyCustomException stringmessage base message try quotient dividend divisor catch MyCustomExeptionex Console WriteLine ex Message if divisor 0 thrownewMyCustomException 除数不能为零 30 示例 建立自定义异常 usingSystem publicclassEmailErrorException ApplicationException publicstring message 重写构造函数publicEmailErrorException base message null publicEmailErrorException stringmessage base message message ToString publicEmailErrorException stringmessage ExceptionmyNew base message myNew message message ToString Message属性的重载publicoverridestringMessage get return Email格式错误 31 示例 throw自定义异常 privateboolSaveInfo stringname stringemail string subStrings email Split 如果输入的Email不是被 字符分割成两段 则抛出Email错误异常if subStrings Length 2 thrownewEmailErrorException else intindex subStrings 1 IndexOf 查找被 字符分成的两段的后一段中 字符的位置 没有 或者 字符是第一个字符 则抛出EmailErrorException异常if index 0 thrownewEmailErrorException 如果 字符是最后一个字符 抛出EmailErrorException异常if subStrings 1 subStrings 1 Length 1 thrownewEmailErrorException returntrue 32 示例 Catch自定义异常 privatevoidbtnSubmit Click objectsender System EventArgse if txtName Text Le

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论