好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

程序调试和异常处理(1)优秀文档.ppt

22页
  • 卖家[上传人]:s9****2
  • 文档编号:606847878
  • 上传时间:2025-05-23
  • 文档格式:PPT
  • 文档大小:232.54KB
  • / 22 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第6章 程序调试和异常处理,本章要点:,VB.NET程序中的错误种类,VB.NET的工作模式,在VB.NET中使用调试工具调试程序的方法,VB.NET中的常用调试窗口,非结构化异常处理语句(On Error和Resume)的功能与使用,结构化异常处理语句(TryCatchFinally)的功能与使用,6.1 理论介绍,6.1.1 程序中的错误类型,1语法错误,语法错误是指在程序代码中,存在不符合VB.NET语法规则的语句而产生的错误2运行错误,运行错误是指程序中的语句本身是正确的,但是这些语句在运行时无法正确执行,从而导致程序发生错误3逻辑错误,常见的逻辑错误有:运算符使用不正确、语句的次序不对、循环语句的起始值或终值不正确、误输入等6.1.2 程序的调试,1VB.NET的3种工作模式,(1)设计模式,(2)运行模式,(3)中断模式,2使用调试工具调试程序,(1)设置和删除断点,(2)跟踪程序的执行,图6-4 【调试】菜单,图6-5 【调试】工具栏,3常用的调试窗口,(1)【任务列表】窗口,(2)【输出】窗口,(3)【立即】窗口,(4)【监视】窗口,(5)【局部变量】窗口,(6)【Me】窗口,6.1.3 异常处理的概念,【例6-1】编写一个除法计算器,计算器的设计界面如图6-12所示。

      程序运行时,输入被除数和除数后按【计算】按钮将会把运算结果显示在【结果】后面的文本框中,如图6-13所示要求程序能够识别出除数为零的错误并给出提示信息,如图6-14所示图6-12 程序设计界面,图6-13 程序正常运行界面,图6-14 除数为零的情况,6.1.4 非结构化异常处理,1Err对象,Err对象的主要属性有:,Number属性,Description属性,Raise方法,格式:Public Sub Raise(ByVal Number As Integer,Optional ByVal Source As Object=Nothing,Optional ByVal Description As Object=Nothing,Optional ByVal HelpFile As Object=Nothing,Optional ByVal HelpContext As Object=Nothing),Clear方法,2On Error语句,On Error语句有以下四种形式:,On Error GoTo Line,On Error Resume Next,On Error GoTo 0,On Erro GoTo-1,图6-18图6-20是发生了几种异常情况时的程序运行界面。

      图6-18图6-20是发生了几种异常情况时的程序运行界面Err对象的主要属性有:,然后编写程序调用该通用过程对它进行验证,要求在主调过程中能够捕获过程参数不正确的异常例6-4】编写一个通用过程用来校验用户输入的密码是否等于8,如果密码长度不等于8将自行触发一个异常2使用调试工具调试程序,调用过程时若发生参数不正确异常,将会出现如图6-27所示的提示对话框,提示对话框退出后将会出现如图6-28所示On Error Resume Next,语法错误是指在程序代码中,存在不符合VB.,【例6-1】编写一个除法计算器,计算器的设计界面如图6-12所示4 非结构化异常处理,Catch语句块Catch语句块用来对捕获的错误进行处理,第6章 程序调试和异常处理,图6-28 显示错误号,Finally,当除数为零时,自动把除数设置为1,再重新执行除法运算,并给出结果不可靠的信息,如图6-15所示和图6-16所示3Resume语句,(1)Resume 0,(2)Resume Next,(3)Resume line,【例6-2】用非结构化异常处理方法处理例6-1中的除数为0的异常和所有其它异常当除数为零时,自动把除数设置为1,再重新执行除法运算,并给出结果不可靠的信息,如图6-15所示和图6-16所示。

      如果发生了其它异常则给出异常的提示信息,并退出过程,如图6-17所示图6-15 提示信息,图6-16 不可靠的结果,图6-17 其它异常的提示信息,6.1.5 结构化异常处理,1TryCatchFinallyEnd Try语句,格式:,Try,Try语句块 该语句块可能会引发异常,Catch exception As type When expression 用于捕获Try语句块中的异常,Catch语句块Catch语句块用来对捕获的错误进行处理,Finally,finally语句块 Finally语句块,存放异常处理后执行的代码,End Try,【例6-3】对除法计算器进行改造使之能够捕获到除数为零的异常(只对整数和Decimal数产生,对于实数结果为无穷大)、输入数据格式不正确的异常以及其它所有异常图6-18图6-20是发生了几种异常情况时的程序运行界面图6-18 除数为0时的异常,图6-19 参数格式不正确时的异常,图6-20 其它异常,2常用的异常类,(1)Message属性,(2)InnerException属性,2 典型实例练能力,Clear方法,2使用调试工具调试程序,Err对象的主要属性有:,Try语句块 该语句块可能会引发异常,当除数为零时,自动把除数设置为1,再重新执行除法运算,并给出结果不可靠的信息,如图6-15所示和图6-16所示。

      例6-1】编写一个除法计算器,计算器的设计界面如图6-12所示2)运行模式,然后编写一个密码输入界面,调用该通用过程进行验证,并能捕获密码长度不正确的异常On Erro GoTo-1,图6-27 错误提示对话框,图6-23 程序运行界面,On Erro GoTo-1,3用户自行触发异常,格式:Throw 异常对象,【例6-4】编写一个通用过程用来校验用户输入的密码是否等于8,如果密码长度不等于8将自行触发一个异常然后编写一个密码输入界面,调用该通用过程进行验证,并能捕获密码长度不正确的异常程序的设计界面如图6-22所示程序运行时可在文本框中输入密码,如图6-23所示若输入的密码不是8位,将出现如图6-24的消息框图6-22 程序设计界面,图6-23 程序运行界面,图6-24 关于异常的提示信息,图6-18图6-20是发生了几种异常情况时的程序运行界面程序运行时可在文本框中输入密码,如图6-23所示4 非结构化异常处理,程序运行时,输入被除数和除数后按【计算】按钮将会把运算结果显示在【结果】后面的文本框中,如图6-13所示图6-23 程序运行界面,图6-13 程序正常运行界面,(1)Message属性,Err对象的主要属性有:,NET中的常用调试窗口,On Error Resume Next,程序的设计界面如图6-22所示。

      图6-20 其它异常,Catch语句块Catch语句块用来对捕获的错误进行处理,图6-28 显示错误号,常见的逻辑错误有:运算符使用不正确、语句的次序不对、循环语句的起始值或终值不正确、误输入等3 上机练习重应用,图6-18图6-20是发生了几种异常情况时的程序运行界面6.1.6 生成可执行文件,图6-25 【配置管理器】对话框,6.2 典型实例练能力,6.2.1 典型实例一:过程参数不正确的异常处理(非结构化异常处理),【实例题目】,编写一个通用过程,用来求两个整数之间所有数的平方和,平方和要求通过参数带回然后编写程序调用该通用过程对它进行验证,要求在主调过程中能够捕获过程参数不正确的异常程序的设计界面如图6-26所示调用过程时若发生参数不正确异常,将会出现如图6-27所示的提示对话框,提示对话框退出后将会出现如图6-28所示图6-26 程序设计界面,图6-27 错误提示对话框,图6-28 显示错误号,6.3 上机练习重应用,6.3.2 上机练习一:算术运算溢出异常的处理(结构化异常处理),【练习题目】,编写一个整数加法计算器,用来求输入的任意两个整数的和,要求能够捕获溢出异常和其它异常。

      程序的设计界面如图6-29所示程序运行时输入加数和被加数后,再单击【计算】按钮,如果没有异常发生将会在第三个文本框中显示计算出来的结果,如果发出了溢出异常将会在第三个文本框中显示异常信息,如图6-30所示如果发生了其它异常,将在第三个文本框中显示“其它异常”的提示信息。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.