自学-调试和异常.ppt_第1页
自学-调试和异常.ppt_第2页
自学-调试和异常.ppt_第3页
自学-调试和异常.ppt_第4页
自学-调试和异常.ppt_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、调试与异常处理,调试与异常处理,代码中的错误分为两种 编译错误(又叫简单错误,指编译器能够发现的错误,要会看错误提示) 语义错误(逻辑错误,程序能够运行,但得到的结果和想要的不一样,或者产生了异常),编译错误的调试,查找编译错误 1.让vs进行编译 *1)生成和重新生成的区别:生成是在上次生成的基础上把有区别的地方重新编译;重新生成是把编译过程完全重来 *2)生成和生成解决方案的区别:解决方案下可以有多个项目,生成解决方案可以将该方案下所有的项目都生成;项目的生成只作用于单个项目 *3)F5和Ctrl+F5:前者可以进入中断状态,后者中断时直接从程序中退出 2.编译过程结束后,可以在错误列表中

2、查看程序中的编译错误。要读懂错误提示,可以根据提示修改代码。,逻辑错误的调试,如果发现程序运行得到的结果和预期的结果不一致,并且程序可以得到运行,说明出现的是逻辑错误。 逻辑错误的调试有两种方法,一种是非中断(正常)模式下的调试;一种是中断模式下的调试。,中断模式下的调试,1.设置断点,鼠标左键点击要设置断点的代码最左侧,该行代码左侧会添加上一个红色圆点,就是断点; 2.用F5启动程序。程序会中断在设置了断点的位置,等待进一步的指令; 3.对于进入中断状态的程序,用F10单步运行,并监控局部变量窗口中的变量值,查看有没有异常情况。,异常定义了程序中遇到的非致命的错误,而不是编译时的语法错误 可

3、能的错误举例: 程序打开一个不存在的文件 网络连接中断 数组越界 处理异常的语法:,try /可能产生异常的语句组; catch (异常名 异常形式参数) /异常处理语句组; finally /无论是否出现异常都一定执行的语句组; ,异常处理,异常处理的基本结构,try包含产生异常的代码 catch包含产生异常时要执行的代码,可以包含多个catch块,响应特定的异常类型,当把catch后面的()整个省略,则该catch块可以响应所有的异常。产生异常后只能执行一个catch块。 finally包含总会得到执行的代码。如果没有产生异常,则在try块执行之后执行finally块中代码;如果产生了异常

4、,则在catch块执行完之后执行finally块中代码。,异常处理的基本结构,当try块中的代码出现异常后,将依次发生如下事件: 1)try块在发生异常的地方中断程序的执行 2)如果有catch块,就检查该块是否匹配于已发生的异常类型;如果有catch块与已发生的异常类型匹配,执行第一个catch块中代码;如果没有找到匹配的catch块,转步骤3) 3)如果有finally块,执行finally块中的代码,获得异常信息,在有参的catch块中,可以获得异常的信息 catch(Exception e) Console.WriteLine(e.Message); Exception中定义了很多属性,通过这些属性可以了解异常的具体情况。访问这些属性要通过Exception类的对象,如上面的例子,通过e.属性名实现。 这里只介绍Message属性,通过这个属性可以了对所产生异常的描述。,常见异常举例,算数运算中发生的异常,如除以零 eg. double d = 30/0; 变量还没有指向一个对象,就引用这个对象的成员 eg. string str = null; int len = str.length; 转换异常 IO异常 应用程序异常,异常举例,static void Main(string args) try string st =

温馨提示

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

评论

0/150

提交评论