面向对象程序设计 C#.Net

11
面面面面面面面面 面面面面面面面面 C#.Net C#.Net 09 Windows 程程程程 I 郑郑 郑郑 [email protected] 13509354412 [email protected] 13509354412 http://www.lzj.name http://www.lzj.name

description

面向对象程序设计 C#.Net. 09 Windows 程序设计 I. 郑捷 [email protected] 13509354412 http://www.lzj.name. 异常处理. 程序调试技术 异常概念 异常的发生 异常的默认处理形式 编程捕捉异常 异常与函数调用 抛出异常. 程序调试技术简介. 断点 Break Point 单步执行 Step 变量观察 Variable Watch 表达式求值 Expression Evaluation. 程序可能出现的问题. 语法错误(编译错误)和警告 - PowerPoint PPT Presentation

Transcript of 面向对象程序设计 C#.Net

Page 1: 面向对象程序设计 C#.Net

面向对象程序设计面向对象程序设计C#.NetC#.Net

09 Windows 程序设计 I

郑捷 郑捷 [email protected] 13509354412 http://www.lzj.name [email protected] 13509354412 http://www.lzj.name

Page 2: 面向对象程序设计 C#.Net

异常处理异常处理

程序调试技术 异常概念 异常的发生 异常的默认处理形式 编程捕捉异常 异常与函数调用 抛出异常

面向对象程序设计 C# 2009-2010-2 2

Page 3: 面向对象程序设计 C#.Net

程序调试技术简介程序调试技术简介

断点 Break Point 单步执行 Step 变量观察 Variable Watch 表达式求值 Expression Evaluation

面向对象程序设计 C# 2009-2010-2 3

Page 4: 面向对象程序设计 C#.Net

程序可能出现的问题程序可能出现的问题

语法错误(编译错误)和警告 由于语法引起的错误,或者由于名称不匹配等引起

的错误。在录入、编译的时候就会给予提示 出现这种错误时,源代码无法变成可执行文件

运行时错误(异常) 在运行的时候发生的意料之外的情况

逻辑错误 程序正常运行,但是结论与预期不符合

面向对象程序设计 C# 2009-2010-2 4

Page 5: 面向对象程序设计 C#.Net

异常异常

异常是程序在运行遇到的任何错误情形或者意外行为

这些意外是可预期的,但是无法由编程人员控制是否发生

面向对象程序设计 C# 2009-2010-2 5

Page 6: 面向对象程序设计 C#.Net

C#C# 的异常处理的异常处理

C# 采用了大部分面向对象编程语言所采用的try-catch 结构来进行异常处理

称为结构化异常处理 是一种事后捕捉的处理方式

即:在 try 区域中,允许异常发生,在发生后,根据具体情况进行事后补救工作

面向对象程序设计 C# 2009-2010-2 6

Page 7: 面向对象程序设计 C#.Net

try-catch-finallytry-catch-finally 执行过程执行过程

面向对象程序设计 C# 2009-2010-2 7

try 块

catch 块

finally块

调用该段代码的地方调用该段代码的地方

可能发生异常的语句

Page 8: 面向对象程序设计 C#.Net

异常类异常类

在 catch 中,我们可以通过异常类和变量来捕捉不同异常

系统定义了一系列的异常类型,用于处理不同的异常情况

面向对象程序设计 C# 2009-2010-2 8

Page 9: 面向对象程序设计 C#.Net

异常的抛出 异常的抛出 throwthrow

我们可以用 throw 语句产生异常 throw 语句用于向系统抛出一个异常,抛出

后由异常处理机制进行处理 事实上,之前所谓的系统异常,都是由被我们

调用的函数内部主动抛出的

面向对象程序设计 C# 2009-2010-2 9

Page 10: 面向对象程序设计 C#.Net

结构化在异常处理中的作用结构化在异常处理中的作用

在结构化程序设计中,每个模块对其外围代码而言,是一个整体,一个有输入,有输出,完成特定任务的黑盒 这里模块指一个函数,或者只是一段代码 外围指调用这个函数的代码,或者这个模块前后的

代码等 输入、输出对于函数而言主要是参数,以及全局变

量,而对于代码段而言,主要是变量 有了结构化,程序就清晰了

面向对象程序设计 C# 2009-2010-2 10

Page 11: 面向对象程序设计 C#.Net

WindowsWindows 程序设计程序设计

面向对象程序设计 C# 2009-2010-2 11