第8章 程序的生成、异常处理和调试.ppt_第1页
第8章 程序的生成、异常处理和调试.ppt_第2页
第8章 程序的生成、异常处理和调试.ppt_第3页
第8章 程序的生成、异常处理和调试.ppt_第4页
第8章 程序的生成、异常处理和调试.ppt_第5页
已阅读5页,还剩16页未读, 继续免费阅读

下载本文档

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

文档简介

1、Visual C# 2008编程,第8章节目创建、异常处理和调试,目录,8.1异常处理8 . 1 . 1 . 1异常类8 . 1 . 2 try-catch 8 . 1 . 4 try-finally 8 . 1 . 5多个在NET以前的编程语言中,这称为错误处理。如果未预期,则会产生错误代码,程式会撷取牙齿代码,并采取适当的动作。第8章节目生成、异常处理和调试,8.1异常处理,8.1.2 try-catch try-catch语句由一个或多个指定其他异常处理程序的catch子句后的try块组成。发生异常时,公共语言运行时(CLR)将查找处理异常的catch语句。如果当前正在执行的方法不包含这

2、些catch块,则CLR将查看调用当前方法的方法,然后重复调用堆栈。如果找不到Catch块,CLR将向用户显示有关未处理异常的消息,并停止运行节目。第8章节目生成、异常处理和调试,8.1异常处理,8.1.2 try-catch只需要初始化在try块中声明的变量。否则,在完成块执行之前,可能会发生异常。例如,在下面的代码示例中,变量x在try块中初始化:尝试在Write(x)语句的try块外部使用牙齿变量会导致编译器错误。使用了未指定值的本地变量。第8章节目创建、异常处理和调试,8.1异常处理,8 . 1 . 2 try-catch static void main()int x;无法初始化Tr

3、y /此处声明的变量x=123。Catch /其中可能会发生异常。未分配的局部变量Console。使用Write(x)。第8章节目的创建、异常处理和调试;8.1异常处理;8 . 1 . 3 try-finally finally块用于清除分配给try块的所有资源,并且在出现异常的情况下运行需要执行的代码。控件始终传递到finally块,无论try块如何退出。Catch用于处理语句块中引发的异常,finally用于确保代码语句块的执行,而不考虑前一个try块的退出方式。Finally块中的语句将执行,无论是否触发了异常。第8章节目生成、异常处理和调试,8.1异常处理,将8.1.4 try-cat

4、ch-finally catch与finally结合使用的常用方法是从try块中获取资源并使用它们,然后在catch块中处理异常。第8章程序的生成、异常处理和调试,以及称为8.1异常处理、8.1.5多try结构的多个try结构,意味着一个try块可以嵌套在另一个try块中。在内部try块中生成但未被与该try关联的catch捕获的异常将传播到外部try块。第8章节目生成、异常处理和调试、8.1异常处理、8.1.6基本异常处理中有时会发生异常。代码没有可处理这些异常的catch块。例如,假定忽略FormatException和常规catch块,仅处理IndexOutOfRangeExceptio

5、n块。如果出现FormatException异常,会发生什么情况?答案是。也就是说,NET运行时会捕获它。NET运行时可以将整个程序快速部署到其他更大的try中,每个。NET程序这样做。牙齿try块具有捕获所有类型异常的catch处理程序。如果代码未处理发生的异常,节目流将终止程序。由NET执行库中的catch块捕获。但结果不是你想的那样。代码执行立即停止,并显示一个对话框,通知用户代码未处理异常。提供了可在NET运行时检索的异常信息。,第8章节目生成、异常处理和调试、8.1异常处理、8.1.7自定义异常通常足以使用系统内部提供的异常,但有时出于特殊目的需要使用自定义异常。If(y=0)/被除

6、数为0/DivideByZeroException异常类对象发生时,请使用Throw new DivideByZeroException();catch(dividebyzeroexception dz)console . writeline(dz . tostirng();8.1异常处理,8.1.8 throw throw语句用于发出节目运行过程中出现异常(异常)的信号。引发的异常是类为System。从Exception派生的对象,例如class my exception : system . exception/.throw new my exception)通常,throw语句与try-

7、catch或try-finally语句一起使用,还可以重新引发使用throw语句捕获的异常。第8章节目生成、异常处理和调试,第8章节目生成、异常处理和调试,8.2 Visual Studio 2008的调试功能,8.2.1单步调试器必须首先了解断点。调试器的命令是设置断点的最简单方法是单击应用程序节目源代码中特定行的左侧。如果断点设置成功,IDE会将断点标记为红色点。第8章节目生成、异常处理和调试,8.2 Visual Studio 2008的调试功能,8.2.1单步调试器代码调试要开始,请选择“IDE”菜单“调试开始”“调试”,或按F5键。程序被编译并作为断点运行。牙齿时停止。下一步要执行的

8、语句、第8章节目生成、异常处理和调试、8.2 Visual Studio 2008的调试功能,以及8.2.1阶段调试器到达断点时查看每个对象的值。例如,可以将光标悬停在变量上以查看值。第8章节目创建、异常处理和调试,8.2 Visual Studio 2008的调试功能,8.2.1阶段调试器调试器IDE还提供了有用的窗口,如“本地变量”窗口。8.2 Visual Studio 2008的调试功能,8.2.1单步调试对象显示类型和加号,以查看内部数据、8章节目生成、异常处理和调试,以及8.2 Visual Studio 2008的调试功能。使用8.2.2 Debugger和Debug类在Visu

9、al Studio 2008中,除了可以在IDE中设置断点以启动调试器外,C#还可以使用Debugger类以编程方式启动调试器。使用Debugger类可以在应用程序节目中启动调试器,并将调试器自动连接到流程。第8章节目生成、异常处理和调试,8.2 Visual Studio 2008的调试功能,8.2.3 Trace类“Trace”一词表示,当节目执行脱离常规执行时,审计代码和目标速度很快。跟踪有助于改进在错误实际发生之前运行的系统。在跟踪应用程序的同时跟踪代码执行,以优化应用程序节目性能。假定您正在创建一个销售应用程序,该应用程序允许您在SQL Server 2005数据库中存储销售信息。您要创建跟踪日志,其中包含有关数据输入者和承诺将每个条目插入数据库的时间的信息。希望在调试版本和发行版本中记录和使用牙齿信息。要实现这些功能,可以使用Trace类。您可以使用Trace类别的方法和属性集来追踪程式码的执行。Trace类是System .属于Diagnostic命名空间。Visual Studio。默认情况下,NET项目中的已发布版本和编译版本启用跟踪。、第8章节目生成、异常处理和调试、8.2 Visual Studio 2008的调试功能、牙齿章节以异常处理和代码

温馨提示

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

评论

0/150

提交评论