第3章 异常处理与调试_第1页
第3章 异常处理与调试_第2页
第3章 异常处理与调试_第3页
第3章 异常处理与调试_第4页
第3章 异常处理与调试_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

VB.NET程序设计

第3章调试与异常处理东北大学软件学院2013-2014第一学期主要内容3.1程序代码错误的种类3.2异常处理3.3代码的调试3.1程序代码错误的种类常遇到的三种错误语法错误运行时错误逻辑错误程序代码错误的种类

语法错误

程序语句违反语言规则,就会产生程序代码错误语法错误可由编译器捕捉在VisualStudio.NET中,语法错误出现在“任务列表”窗口,并附带说明、行号和文件名。含有语法错误的程序不能执行。如编译器报告某行有语法错误,请检查那一行,如果那一行没有错误,再查看它的前几行代码。改正一个错误后,要重新编译程序。总错误个数可能明显减少。运行时错误运行时错误也叫执行错误,会造成程序的中断执行常见的执行错误用零做除数访问不存在的文件访问超过上限的数组程序调用时的参数错误逻辑错误产生非意料之中的结果或多余结果程序运行时不会出现错误信息计算1+2+….+99的和3.2异常处理执行一个任务

如果前面的任务执行不正确 执行错误处理

执行下一个任务

如果前面的任务执行不正确 执行错误处理

……异常处理使用户能够从实现应用程序逻辑的代码中去除错误处理代码,增强应用程序的清晰性和可修改性。异常处理Try[tryStatements][Catch[exception[Astype]][catchStatements]][ExitTry]……[Finally[FianllyStatements]]EndTry异常处理的语法格式.NET异常类层次结构Exception类ApplicationException类SystemException类派生类1派生类n…派生类1派生类n…派生类m…派生类1派生类n…派生类m…SystemException类的部分派生类类别说明ArgumentOutOfRangeException当参数值超出调用方法所规定的范围时所产生错误DivideByZeroException除数为0时所产生错误IndexOutOfRangeException索引值超出数组所允许范围InvalidCastException类型转换所产生错误,如将字母转为数值OverFlowException溢出时所产生错误例:输入两个整数,将两数相除求其商,若分母的输入值为0时,程序会中断且显示错误信息。使用Try…Catch来进行异常处理异常属性Message:包含错误的字符串,适于显示给用户StackTrace:包含了一个字符串(通常都很长),表示方法调用堆栈,在异常发生时尚未完成处理的方法序列InnerException:返回内部(嵌套)异常的异常对象HelpLink:表示异常的帮助链接字符串Source:包含生成错误的对象名称的字符串TargetSite:保存抛出异常的方法例:使用Try…Catch…Finally来处理运行时数组索引值超出界限外的错误。例:求n!。因为有不同异常处理,会有不同错误信息。7.2错误的捕获

遇到特殊错误,系统并没有提供此种判断,自己也可以写程序来处理特殊错误,Throw语句即可指到该异常类,即自定义异常类。自定义异常处理例:使用ArgumentOutOfRangeException类。若输入月份1~12,不发生错误;若输入其它数字,结果显示“不合理月份”。7.2错误的捕获

用户定义的异常类直接或间接地从System名字空间的ApplicationException类派生专门描述当前程序中发生的问题例,用户定义异常类NegativeNumberException表示当程序执行了负数的非法运算时所发生的异常。计算负数的平方根3.3代码的调试单击任何代码行左侧的灰色区域,或者右击代码行,再选择[插入断点];随后出现一个红色圆点,断点已经设置成功;程序执行时,会在断点位置中断;选择[调试]|[启动]开始调试过程。设置断点启用调试器VisualStudio.NET提供几个调试窗口,都可从[调试]|[窗口]子菜单中访问[监视]窗口只在中断模式才会出现,可以利用它检查变量值和表达式[局部变量]显示在当前作用域中,所有局部变量或对象的名称和值[自动窗口]显示上一个语句和当前语句中使用的变量和对象检查数据[调试]工具栏包含了控制调试过程的按钮选择[视图]|[工具栏]|[调试]显示[调试]工具栏[重新启动][继续][停止调试][全部中断][显示下一语句][断点][逐过程][条件]程序控制使用1+2+…+n<9,试找出n值。Dimn,sumAsIntegersum=0n=1DoWhile(True)sum+=nIf(sum>=9)Thensum-=nLabel1.Text="1+2+..."&n&_

温馨提示

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

评论

0/150

提交评论