调试与异常处理

调试与异常处理

ID:39405133

大小:1.13 MB

页数:29页

时间:2019-07-02

调试与异常处理_第1页
调试与异常处理_第2页
调试与异常处理_第3页
调试与异常处理_第4页
调试与异常处理_第5页
资源描述:

《调试与异常处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C#2008程序设计基础案例教程第五章调试与异常处理程序中的错误类型1.语法错误语法错误是指在程序代码中,存在不符合VisualC#2008语法规则的语句而产生的错误。一、程序中的错误类型2.运行错误运行错误是指程序中的语句本身无语法错误的,但是这些语句在运行时无法正确执行,从而导致程序发生错误。int[]A=newint[5];inti;for(i=0;i<=5;i++)A[i]=i*i;一、程序中的错误类型3.逻辑错误在程序设计中,有时会出现这样一种情况:程序在编辑和编译时,没有发现任何语法错误,程序也能正常运行

2、和正常退出,但程序就是不能实现要求的功能。在这种情况下,通常就是程序中出现了逻辑错误。5.1程序调试程序员在编码过程中经常犯一些错误,例如算术运算时不小心使计算结果超出结果变量数据类型的有效范围(这种情况称为溢出)。当程序运行时出现了溢出情况,而恰好又位做处理,那么程序将因出现错误而被关闭。但是程序中处理了那么多数据,程序员如何知道错误出现在哪里呢?这就需要使用VisualStudio2008的调试功能。5.1.2案例步骤设置断点为了能让程序在执行语句时程序能暂停,我们可以在这条语句上设置断点,设置中断有以下两种方法

3、:使光标停在语句所在行,然后按快捷键F9或者选择调试菜单的“切换断点”命令。用鼠标单击该行的前边界,如图所示。单击这里5.1.2案例步骤启动调试单击工具栏上的“启动调试”按钮或按下F5启动调试,选择备忘录功能,程序运行到第一个断点处暂停,注意断点语句此时还未执行。“调试”菜单提供了3个继续执行代码的命令:逐语句逐过程跳出5.1.2案例步骤查看变量的值当程序中断时,将鼠标停在变量上1-2秒,将悬浮显示出变量的当前值,如下图所示:5.1.3案例拓展若断点在循环内部,则每循环一次都要中断一次,若循环次数庞大,将给调试带来不

4、便。可以考虑为断点设置条件,在断点上单击鼠标右键,弹出如图所示菜单:断点设置命中次数在菜单中选择“命中次数”命令,弹出“断点命中次数”窗口(见下图),在下拉框中选择“中断,条件是命中次数等于”,文本框中输入50,点击确定后,重新启动调试,发现循环内断点在循环到第50次时才中断,而不是每次都中断。断点设置断点其他设置位置:可以设置断点在文件的具体位置。条件:条件是一个表达式,它确定断点是命中还是跳过。当调试器到达该断点时,它会计算条件的值。只有当条件满足时,断点才会命中。可以在某个位置断点处设置条件,只有当条件为真时,

5、才会中断执行。命中次数:它跟踪断点的命中次数。默认情况下,每次命中断点时断点都中断代码的执行。您可以更改此行为,以便仅当命中次数等于或超过指定值或者仅当命中次数为给定值的倍数时,断点才中断代码。通过筛选器,可以将断点设置在指定的计算机、进程和线程上。在调试运行于多个处理器上的应用程序时,筛选器非常有用。调试窗口监视窗口只有在中断状态下可以使用该窗口。可以在监视窗口中监视变量或表达式,如图所示。可以在监视窗口的空行中直接输入要监视的变量或表达式。当代码单步执行时,监视变量或表达式的值若发生变化将以红色字体显示。调试窗口

6、快速监视窗口中断时可以选中变量或表达式后右键选择“快速监视”来使用快速监视对话框进行监视,如下图所示:调试窗口即时窗口即时窗口用于调试和计算表达式、执行语句、输出变量值等。它使您得以在调试期间输入表达式,由开发语言对其进行计算或执行。若要显示“即时”窗口,请打开要编辑的项目,然后从“调试”菜单中选择“窗口”,再选择“即时”。调试窗口命令窗口“命令”窗口用于直接在VisualStudio集成开发环境(IDE)中执行命令或别名。可以执行菜单命令和不在任何菜单上显示的命令。若要显示“命令”窗口,请从“视图”菜单中选择“其他

7、窗口”,再选择“命令窗口”。调试窗口自动窗口“自动”窗口用于监视程序运行时最后访问的变量。调试窗口局部变量窗口“局部变量”窗口监视当前执行方法中的变量。与“自动”窗口相比,“局部变量”窗口列出了更多的变量。5.2错误与异常处理错误的出现并不总是编写应用程序的人的原因,有时应用程序会因为终端用户的操作而发生错误,例如删除只读文件,数据库不存在等。无论如何,我们都应预测应用程序和代码中出现的错误。C#处理错误的机智为每种错误提供定制的处理,并把识别错误的代码与处理错误的代码分离开来,这种机制称为异常处理。Try-catc

8、h-finally异常处理try…catch…finally语句[格式]:try{语句组1;//程序中需要执行的语句}catch(异常1)//发生了“异常1”指定的异常{语句组2;//执行该异常处理}……catch(异常n)//发生了“异常n”指定的异常{语句组n;//执行该异常处理}finally//必做的自理{语句组n+1;//该语句块一定

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。