VBNET程序设计实用教程5.ppt
《VBNET程序设计实用教程5.ppt》由会员分享,可在线阅读,更多相关《VBNET程序设计实用教程5.ppt(66页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、VB.NETVB.NET清华大学出版社清华大学出版社VB.NET程序设计实用教程程序设计实用教程第5章 程序调试和异常处理本章任务本章任务 具有非结构化异常处理的简单计算器具有非结构化异常处理的简单计算器 具有结构化异常处理的简单计算器具有结构化异常处理的简单计算器本章主要内容本章主要内容在在VB.NET中使用调试工具调试中使用调试工具调试程序的方法程序的方法VB.NET的的3种工作模式种工作模式VB.NET中的常用调试窗口中的常用调试窗口结构化异常处理语句结构化异常处理语句(TryCatchFinallyEnd Try语句)的功能与使用语句)的功能与使用非结构化异常处理语句(非结构化异常处理
2、语句(On Error语语句和句和Resume语句)的功能与使用语句)的功能与使用主主要要内内容容5.1 5.1 程序的调试程序的调试 程序中的错误可分为程序中的错误可分为语法错误、逻辑错误语法错误、逻辑错误或或运行错误运行错误三三种类型,系统会在语法错误的下面加上波浪线,比较容易种类型,系统会在语法错误的下面加上波浪线,比较容易查找和排除,而逻辑错误或运行错误排除则比较困难。当查找和排除,而逻辑错误或运行错误排除则比较困难。当程序中出现了程序中出现了逻辑错误逻辑错误或或运行错误运行错误而又难以解决时,就应而又难以解决时,就应该借助于该借助于程序调试工具程序调试工具对程序进行调试。所谓对程序进
3、行调试。所谓程序调试程序调试就就是在应用程序中是在应用程序中查找查找并并修改错误修改错误的过程。通过程序的调试,的过程。通过程序的调试,可以纠正程序中的错误。为了更正程序中发生的不同错误,可以纠正程序中的错误。为了更正程序中发生的不同错误,VB.NETVB.NET提供了多种调试工具,如提供了多种调试工具,如设置断点、插入观察变量、设置断点、插入观察变量、逐行执行逐行执行和和过程跟踪、各种调试窗口过程跟踪、各种调试窗口等。等。5.1.1 VB.NET5.1.1 VB.NET的的3 3种工作模式种工作模式1 1设设 计计 模模 式式 1 2运运 行行 模模 式式 1 3中中 断断 模模 式式 5.
4、1.1 VB.NET5.1.1 VB.NET的的3 3种工作模式种工作模式 (1 1)设计模式)设计模式 在设计模式下,用户可以设计项目。使用在设计模式下,用户可以设计项目。使用VB.NET 新建一个项后,系统将自动进入设计模式,此新建一个项后,系统将自动进入设计模式,此时,时,IDE的标题栏将显示的标题栏将显示“设计设计”字样。处于设计字样。处于设计模式时,可进行应用程序的窗体设计、为窗体添加控模式时,可进行应用程序的窗体设计、为窗体添加控件、设置对象属性、编写程序代码等操作。在设计模件、设置对象属性、编写程序代码等操作。在设计模式下可以为程序设置断点。式下可以为程序设置断点。5.1.1 V
5、B.NET5.1.1 VB.NET的的3 3种工作模式种工作模式 (2)运行模式)运行模式 项目设计完之后,运行项目,系统就进入了运行模式。项目设计完之后,运行项目,系统就进入了运行模式。此时,在此时,在IDE的标题栏上将显示的标题栏上将显示“运行运行”字样。处字样。处于运行模式时,程序设计人员可以与程序交互、可以于运行模式时,程序设计人员可以与程序交互、可以查阅程序代码,但不能修改程序代码。执行查阅程序代码,但不能修改程序代码。执行【调试调试】【停止调试停止调试】命令,或单击工具栏上的命令,或单击工具栏上的“停止调试停止调试”按钮图标按钮图标“”就可以中止程序运行。就可以中止程序运行。5.1
6、.1 VB.NET5.1.1 VB.NET的的3 3种工作模式种工作模式 (3)中断模式)中断模式 当系统处于运行模式时,单击工具栏中的当系统处于运行模式时,单击工具栏中的“全部中断全部中断”按钮按钮“”,或执行,或执行【调试调试】【全部中断全部中断】命命令,都将暂停程序的运行,进入中断模式。此时,在令,都将暂停程序的运行,进入中断模式。此时,在IDE的标题栏中将显示的标题栏中将显示“中断中断”字样。中断模式主字样。中断模式主要用于程序调试和排除错误,可以查看代码,也可编要用于程序调试和排除错误,可以查看代码,也可编辑代码。同时,可以检查或修改数据。当想结束中断辑代码。同时,可以检查或修改数据
7、。当想结束中断重新从中断处继续执行程序时,只需单击重新从中断处继续执行程序时,只需单击“继续继续”按按钮钮“”即可。如果程序中设有断点或代码中含有即可。如果程序中设有断点或代码中含有Stop语句,则程序运行到断点或语句,则程序运行到断点或Stop语句处也将进语句处也将进入中断模式。入中断模式。5.1.2 5.1.2 使用调试工具调试程序使用调试工具调试程序 为为了了方方便便用用户户对对程程序序进进行行调调试试,VB.NET提提供供了了一一组组调调试试工工具具。可可通通过过“调调试试”菜菜单单和和“调调试试”工工具具栏栏来来调调用用这这些些调调试试工工具具,“调调试试”菜菜单单如如图图5-1所所
8、示示,“调调试试”工工具具栏栏如如图图5-2所所示示。当当调调试试工工具具栏栏没没有有出出现现时时,可可执执行行【视视图图】【工具栏工具栏】【调试调试】使之出现。使之出现。5.1.2 5.1.2 使用调试工具调试程序使用调试工具调试程序 1设置和删除断点设置和删除断点 断点是应用程序暂时停止执行的位置,也是让应断点是应用程序暂时停止执行的位置,也是让应用程序进入中断模式的地方。在程序设计中,可以在用程序进入中断模式的地方。在程序设计中,可以在中断模式和设计模式下设置和删除断点。在调试程序中断模式和设计模式下设置和删除断点。在调试程序时,按照程序的功能,可在怀疑有错误的语句处设置时,按照程序的功
9、能,可在怀疑有错误的语句处设置断点,这样,有利于测试程序的功能和发现程序的逻断点,这样,有利于测试程序的功能和发现程序的逻辑错误。辑错误。设置断点的方法主要有以下几种:设置断点的方法主要有以下几种:在代码窗口中,单击要设置断点的那一行代码,在代码窗口中,单击要设置断点的那一行代码,然后按然后按F9键;键;在代码窗口中,在要设置断点的那一行代码行上,在代码窗口中,在要设置断点的那一行代码行上,单击鼠标右键并选择单击鼠标右键并选择“插入断点插入断点”命令;命令;在代码窗口中,在要设置断点的那一行代码行的在代码窗口中,在要设置断点的那一行代码行的左边界上的竖条上单击。左边界上的竖条上单击。5.1.2
10、 5.1.2 使用调试工具调试程序使用调试工具调试程序 被设置成断点的代码行显示为红色,并在其左边显示被设置成断点的代码行显示为红色,并在其左边显示一个红点,如图一个红点,如图5-3所示。若要删除一个断点,只需所示。若要删除一个断点,只需重复上面步骤即可。重复上面步骤即可。5.1.2 5.1.2 使用调试工具调试程序使用调试工具调试程序2跟踪程序的执行跟踪程序的执行 在在VB.NET中,提供了中,提供了“逐语句逐语句”、“逐过程逐过程”、“跳出跳出”等好等好几种跟踪程序执行的方式。几种跟踪程序执行的方式。逐语句执行:逐语句执行:“逐语句逐语句”执行方式是一次执行一条语句,这种方执行方式是一次执
11、行一条语句,这种方式又称为单步执行。每执行一条语句之后,程序设计人员可以式又称为单步执行。每执行一条语句之后,程序设计人员可以使用使用“即时即时”窗口、窗口、“局部变量局部变量”窗口或窗口或“巡视巡视”窗口,来查窗口,来查看语句的执行结果,借此分析程序中存在的问题。看语句的执行结果,借此分析程序中存在的问题。逐过程执行:逐过程执行:“逐过程逐过程”执行与逐语句执行类似,差别在于当前执行与逐语句执行类似,差别在于当前语句如果包含过程调用,语句如果包含过程调用,“逐语句逐语句”将进入被调用过程,而将进入被调用过程,而“逐过程逐过程”则把整个被调用过程当作一条语句来执行。则把整个被调用过程当作一条语
12、句来执行。跳出:跳出:“跳出跳出”命令是连续执行当前过程的剩余语句部分,并在命令是连续执行当前过程的剩余语句部分,并在调用该过程的下一个语句行处中断执行。调用该过程的下一个语句行处中断执行。以上三种命令均可以通过执行以上三种命令均可以通过执行【调试调试】菜单中的相应菜单命令或菜单中的相应菜单命令或单击单击【调试调试】工具栏上的相应按钮来实现。工具栏上的相应按钮来实现。5.1.3 5.1.3 常用的调试窗口常用的调试窗口 在调试应用程序时,经常要分析应用程序的程序段或语句在调试应用程序时,经常要分析应用程序的程序段或语句的运行结果,并希望能够看到变量、属性、表达式等值的的运行结果,并希望能够看到
13、变量、属性、表达式等值的变化,以便找出错误所在处。为便于观察程序块或语句的变化,以便找出错误所在处。为便于观察程序块或语句的运行结果,在运行结果,在VB.NET提供了很多调试窗口,充分利用提供了很多调试窗口,充分利用这些窗口,可以提高程序调试的效率。下面将一一介绍主这些窗口,可以提高程序调试的效率。下面将一一介绍主要调用窗口的功能。要调用窗口的功能。5.1.3 5.1.3 常用的调试窗口常用的调试窗口1“命令命令”窗口窗口 在在VB.NET中,有一个中,有一个“命令命令”窗口,在该窗口中可以直接使窗口,在该窗口中可以直接使用用VB.NET的各种命令与系统交互。的各种命令与系统交互。“命令命令”
14、窗口有两种不同窗口有两种不同的模式:命令模式和立即模式。命令模式主要用来执行命令,的模式:命令模式和立即模式。命令模式主要用来执行命令,立即模式主要用于调试程序。在调试应用程序执行函数或语句立即模式主要用于调试程序。在调试应用程序执行函数或语句等操作时,可使用立即模式查看,并更改变量的值。通过执行等操作时,可使用立即模式查看,并更改变量的值。通过执行【调试调试】【窗口窗口】【即时即时】命令,可以以立即模式打开命令,可以以立即模式打开“命令命令”窗口。当命令窗口处于立即模式时,标题栏显示窗口。当命令窗口处于立即模式时,标题栏显示“命令窗口一命令窗口一立立 即即”,如图,如图5-4所示所示。图图5
15、-4 “命令命令”窗口窗口 5.1.3 5.1.3 常用的调试窗口常用的调试窗口2“监视”窗口 利用利用“监视监视”窗口,可以动态观察变窗口,可以动态观察变量、数组、数组元素和表达式的值,量、数组、数组元素和表达式的值,从而可以观察程序的运行情况,找到从而可以观察程序的运行情况,找到错误的所在。在错误的所在。在“监视监视”观察的变量观察的变量或表达式称为监视表达式。或表达式称为监视表达式。“监视监视”窗口只能在运行模式或中断模式下打窗口只能在运行模式或中断模式下打开,打开方法是执行开,打开方法是执行【调试调试】【窗窗口口】【监视监视】命令,打开的命令,打开的“监视监视”窗口如图窗口如图5-5所
16、示。若要在所示。若要在“监视监视”窗口中添加监视表达式,只需单击窗口中添加监视表达式,只需单击【监视监视】窗口窗口“名称名称”列最下面单元格列最下面单元格上单击,在其中输入监视表达式即可。上单击,在其中输入监视表达式即可。“监视监视”窗口是最重要的调试用窗口窗口是最重要的调试用窗口之一,在逐语句运行的情况下,通过之一,在逐语句运行的情况下,通过该窗口可以看到每执行一条语句后,该窗口可以看到每执行一条语句后,监视表达式值的变化情况,从而可以监视表达式值的变化情况,从而可以找到错误所在找到错误所在 图5-5 “监视”窗口 5.1.3 5.1.3 常用的调试窗口常用的调试窗口 3“局部变量局部变量”
17、窗口窗口 在在“局部变量局部变量”窗口可以显示窗口可以显示当前过程中所有局部变量的值。当前过程中所有局部变量的值。当程序从一个过程执行到另一个当程序从一个过程执行到另一个过程时,过程时,“局部变量局部变量”中显示的中显示的变量及其值也会随之改变,因为变量及其值也会随之改变,因为该窗口只显示当前正在执行的过该窗口只显示当前正在执行的过程中所有局部变量的值。打开程中所有局部变量的值。打开“局部变量局部变量”窗口的方法是执行窗口的方法是执行【调试调试】【窗口窗口】【局部变量局部变量】命令,打开的命令,打开的“局部变量局部变量”窗窗口如图口如图5-6所示。所示。“局部变量局部变量”窗窗口只显示当前过程
18、的口只显示当前过程的“局部变量局部变量”的值,模块级变量和全局变量的值,模块级变量和全局变量的值不会显示在该窗口中。的值不会显示在该窗口中。除了上述窗口外,还有除了上述窗口外,还有“任任务列表务列表”窗口、窗口、“输出输出”窗口、窗口、“Me”窗口等调试窗口窗口等调试窗口。图5-6 “局部变量”窗口 5.2 5.2 任务任务5-15-1:具有非结构化异常处理的简单计算:具有非结构化异常处理的简单计算 器器非结构化异常处理非结构化异常处理 任任务务5-1描描述述:制制作作一一个个简简单单计计算算器器程程序序,程程序序的的设设计计界界面面如如图图5-7所所示示。程程序序运运行行时时通通过过按按钮钮
19、输输入入运运算算公公式式,如如图图5-8所所示示。单单击击“计计算算”按按钮钮将将得得到到计计算算结结果果,如如图图5-9所所示示。单单击击清清除除按按钮钮将将清清除除文文本本框框中中显显示示的的表表达达式式或或运运算算结结果果。程程序序能能够够捕捕获获并并处处理理算算术术运运算算溢溢出出的的异异常常(被被0除除和和运运算算数数或或运运算算结结果果超超出出类类型型允允许许的的范范围围)和和运运算算数数少少的的错错误误,分分别别如如图图5-10和和图图5-11所所示示。图5-7 程序设计界面 图5-8 输入的公式图5-9 单击“运算”得到的结果图5-10 “算术运算溢出”异常处理 图5-11 “
20、运算数缺少异常”处理 5.2 5.2 任务任务5-15-1:具有非结构化异常处理的简单计算:具有非结构化异常处理的简单计算 器器非结构化异常处理非结构化异常处理任务分析:任务分析:通过单击数字按钮输入公式时,只需在各数字按钮的通过单击数字按钮输入公式时,只需在各数字按钮的Click事件事件中把按钮的中把按钮的Text属性值连接到文本框的属性值连接到文本框的Text属性中,这样每单属性中,这样每单击一次数字按钮,对应的数字将出现在文本框中。单击运算符击一次数字按钮,对应的数字将出现在文本框中。单击运算符按钮时,在文本框的按钮时,在文本框的Text属性中连接一个空格,然后连接运算属性中连接一个空格
21、,然后连接运算符按钮的符按钮的Text属性,再连接一个按钮。这样在属性,再连接一个按钮。这样在“计算计算”按钮的按钮的Click事件中,就可以通过查找空格的位置,通过字符串的取子事件中,就可以通过查找空格的位置,通过字符串的取子串方法就可以获得两个运算数和运算符,然后通过串方法就可以获得两个运算数和运算符,然后通过Select CaseEnd Select语句可以判断运算符是什么运算符并对两语句可以判断运算符是什么运算符并对两个运算数进行相应运算就可以得到结果,把结果显示出来即可。个运算数进行相应运算就可以得到结果,把结果显示出来即可。为了捕获并处理异常,可使用为了捕获并处理异常,可使用On
22、Error语句指定错误处理程序。语句指定错误处理程序。在错误处理程序块中通过在错误处理程序块中通过Err对象的对象的Number属性中的错误号属性中的错误号来判断错误的类型(算术运算溢出,错误号为来判断错误的类型(算术运算溢出,错误号为6。过程参数错误,。过程参数错误,错误号为错误号为5),然后决定相应的处理。),然后决定相应的处理。5.2 5.2 任务任务5-15-1:具有非结构化异常处理的简单计算:具有非结构化异常处理的简单计算 器器非结构化异常处理非结构化异常处理任务实现:任务实现:1启动启动VB.NET,新建一个项目,项目类型为,新建一个项目,项目类型为“Windows应用程序应用程序
23、”,项目的存放位置为,项目的存放位置为“D:VBTASKCH05”,项目名为,项目名为“Task5_1”。2把把Form1窗体的窗体的Text属性值设置为属性值设置为“简单计算器简单计算器”,把它的,把它的Name属性值设置为属性值设置为“SimpleCalculator”。单击。单击“解决方案资源管理器解决方案资源管理器”中的中的“Form1.VB”窗体,然后在属性窗口中把它文窗体,然后在属性窗口中把它文件名属性设置为件名属性设置为“SimpleCalculator.vb”。然后执。然后执行行【项目项目】【Task5_1属性属性】命令,在出现的命令,在出现的“Task5_1属性页属性页”对话
24、框中把对话框中把“启动对象启动对象”设置为设置为“SimpleCalculator”。5.2 5.2 任务任务5-15-1:具有非结构化异常处理的简单计算:具有非结构化异常处理的简单计算 器器非结构化异常处理非结构化异常处理3对照程序设计界面,对照程序设计界面,为窗体添加控件并设为窗体添加控件并设置控件的属性。控件置控件的属性。控件的属性设置如表的属性设置如表5-1所示。所示。控件名控件名属性名属性名属性值属性值说明说明Label1Label1TextText 结果:结果:提示提示TextBox1TextBox1TextText 显示算式或结果显示算式或结果Button1Button1Text
25、Text 清空清空单击它清空文本框中显示的内容单击它清空文本框中显示的内容Button2Button2TextText11单击它在文本框中显示的数字后连一个单击它在文本框中显示的数字后连一个“1”Button3Button3TextText22单击它在文本框中显示的数字后连一个单击它在文本框中显示的数字后连一个“2”Button4Button4TextText33单击它在文本框中显示的数字后连一个单击它在文本框中显示的数字后连一个“3”Button5Button5TextText44单击它在文本框中显示的数字后连一个单击它在文本框中显示的数字后连一个“4”Button6Button6TextT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VBNET 程序设计 实用教程
限制150内