第九章
调试、测试和异常处理
回顾
WinForms单选按钮控件允许用户进行设置
WinForms的图片框控件允许用户在窗体上添加和显示位图、元文件、JPEG、GIF 或 PNG 等格式的图形
WinForms的选项卡控件将类似的功能集中在一起,放在一个对话框或窗口中
WinForms的 HScrollBar 和 VScrollBar 用作水平和垂直滚动条,分别以水平和垂直方式浏览(或滚动)整个文档
进度条控件用于指示操作的进度,并显示排列在水平条中一定数目的矩形,通常通过在程序中设置其Value值来显示任务完成的百分比
目标
理解如何调试应用程序和排除错误
掌握如何测试 C# 应用程序
了解测试和调试的区别
在程序中进行错误捕获和错误处理
简介
调试的必要性
错误类型
调试过程 5-1
调试过程 5-2
调试过程 5-3
调试过程 5-4
调试过程 5-5
VS.NET 中的调试工具 5-1
VS.NET 中的调试工具 5-2
VS.NET 的调试工具 5-3
VS.NET 中的调试工具 5-4
VS.NET 中的调试工具 5-5
异常
C# 中的异常处理2-1
C# 中的异常处理2-2
System.Exception 3-1
System.Exception 3-2
System.Exception 3-3
try 和 catch 块 4-1
try 和 catch 块 4-2
try 和 catch 块 4-3
try 和 catch 块 4-4
使用 finally
多重 catch 块 2-1
多重 catch 块 2-2
示例-建立自定义异常
using System;
public class EmailErrorException:ApplicationException
{
public string _message;
//重写构造函数
public EmailErrorException():base()
{
_message = null;
}
public EmailErrorException(string message):base()
{
_message = message.ToString();
}
public EmailErrorException(string message,
Exception myNew):base(message,myNew)
{
_message = message.ToString();
}
//Message属性的重载
public override string Message
{
get
{
return "Email格式错误。";
}
}
}
示例-throw自定义异常
private bool SaveInfo(string name, string email)
{
string[] subStrings = email.Split('@');
//如果输入的Email不是被“@”字符分割成两段,则抛出Email错误异常
if(subStrings.Length != 2)
{
throw new EmailErrorException();
}
else
{
int index = subStrings[1].IndexOf(".");
//查找被“@”字符分成的两段的后一段中“.”字符的位置,没有“.” //或者“.”字符是第一个字符,则抛出EmailErrorException异常
if(index <= 0)
{
throw new EmailErrorException();
}
//如果“.”字符是最后一个字符,抛出EmailErrorException异常
if(subStrings[1][subStrings[1].Length -1] == '.')
{
throw new EmailErrorException();
}
}
return true;
}
示例-Catch自定义异常
private void btnSubmit_Click(object sender, System.EventArgs e)
{
if(txtName.Text.Length == 0 && txtEmail.Text.Length == 0)
{
MessageBox.Show("请填写姓名和Email。", "填写不完整"
, MessageBoxButtons.OK
, MessageBoxIcon.Information);
return;
}
try
{
SaveInfo(txtName.Text, txtEmail.Text);
}
catch(EmailErrorException ex)
{
MessageBox.Show(ex.Message, "Email 格式错误"
, System.Windows.Forms.MessageBoxButtons.OK
, MessageBoxIcon.Information);
return;
}
MessageBox.Show("保存成功。", "成功"
, MessageBoxButtons.OK
, MessageBoxIcon.Information);
}
总结
调试是搜寻和消除应用程序中的错误的过程
语法错误表示编译器无法理解代码
调试模式可用来重复编译和排除应用程序中的错误,直至能够成功运行
“局部变量”窗口允许用户监控当前程序中所有变量的值
单元测试和集成测试是测试大型应用程序的常用技术
当应用程序遇到运行时错误时,就会引发异常
C# 中的所有异常都派生自 Exception 类
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |