第14章异常处理与部署应用程序_第1页
第14章异常处理与部署应用程序_第2页
第14章异常处理与部署应用程序_第3页
第14章异常处理与部署应用程序_第4页
第14章异常处理与部署应用程序_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、第第1章章 Visual C#概述概述第第2章章 C#语法基础语法基础第第3章章 顺序结构程序设顺序结构程序设计计第第4章章 选择结构程序设选择结构程序设计计第第5章章 循环结构程序设循环结构程序设计计第第6章章 面向面向对象编程技术对象编程技术第第7章章 继承继承第第8章章 数组与自定义类型数组与自定义类型第第9章章 菜单、工具栏与状菜单、工具栏与状态栏态栏第第10章章 鼠标键盘事件鼠标键盘事件第第11章章 ActiveX控件控件第第12章章 数据库技术数据库技术第第13章章 开发开发Web应用程应用程序序第第14章章 异常处理与部署异常处理与部署应用程序应用程序下一页下一页Visual C

2、# 2005Visual C# 2005程序设计程序设计上一页上一页 章节目录章节目录上一页上一页下一页下一页第14章 异常处理与部署应用程序14.1 异常处理14.1.1 用trycatch语句捕获异常正常情况下,程序流进入try控制块,如果没有错误发生,就会正常操作。当程序流离开try控制块后,如果没有发生错误,将执行catch后的finally语句块或顺序执行;当执行try时发生错误,程序流就会跳转到相应的catch语句块。 章节目录章节目录上一页上一页下一页下一页【例14-1】trycatch语句结构使用示例。在TextBox控件中接收两个数,单击【计算】按钮,显示这两个数的商。要求使

3、用trycatch语句结构识别并处理由除数或被除数为非数字引发的异常、由除数为零引发的异常。 章节目录章节目录上一页上一页下一页下一页正常运行及各种异常处理结果 章节目录章节目录上一页上一页下一页下一页【计算】按钮被单击时执行的事件过程代码如下:private void button1_Click(object sender, EventArgs e) int a, b , c;/ 声明变量 try / 试图捕获异常 / 将文本转换为Int32类型的整数 a = Convert.ToInt32(textBox1.Text); 章节目录章节目录上一页上一页下一页下一页catch / 发生异常时的

4、处理 label3 .Text =提示:请将被除数的值输入为数字!; return; 章节目录章节目录上一页上一页下一页下一页try b = Convert.ToInt32 (textBox2.Text); catch label3 .Text =提示:请将除数的值输入为数字!; return; try c = a / b; catch (DivideByZeroException) / 如果发生除数为0的异常 label3 .Text =提示:除数不能为!; return; / 正确运行时显示运算结果 label3.Text = 两数的商为:+c.ToString();章节目录章节目录上一页

5、上一页下一页下一页14.1.2 14.1.2 用用trytryfinallyfinally语句清除异常语句清除异常有时可能希望在程序运行时,要求清除异常而不是错误处理。若希望使程序在出现异常时继续执行,且不显示出错信息。此时可以使用try-finally语句实现清除异常。它不仅抑制了出错消息,而且所有包含在finally块中的代码在异常被引发后仍然会被执行。【例14-2】设计一个Windows应用程序,用来检查指定文件是否存在。要求无论文件存在与否,程序均能正常结束并显示“感谢使用本软件”的信息框。章节目录章节目录上一页上一页下一页下一页文件存在或不存在的程序运行结果 章节目录章节目录上一页上

6、一页下一页下一页【检查】按钮被单击时执行的事件过程代码如下:private void button1_Click(object sender, EventArgs e) try / 判断文件是否存在 if (File.Exists(textBox1.Text) label2.Text = 该文件存在; else label2.Text = 该文件不存在; finally / 无论是否发生异常,都正常结束 MessageBox.Show(感谢使用本软件!,程序结束); 章节目录章节目录上一页上一页下一页下一页14.1.3 trycatchfinally语句结构语句结构前面介绍的trycatch结

7、构和tryfinally结构分别用来捕 获 处 理 异 常 和 清 除 异 常 。 本 节 介 绍 的trycatchfinally结构能将上述二者结合起来,使之成为一个整体。【例14-3】在【例14-1】的基础上修改【计算】按钮单击事件过程的代码如下:章节目录章节目录上一页上一页下一页下一页private void button1_Click(object sender, EventArgs e) int a, b , c; try / 试图捕获异常 / 将文本转换为Int32类型的整数 a = Convert.ToInt32(textBox1.Text); b = Convert.ToIn

8、t32 (textBox2.Text); c = a / b; label3.Text = 两数的商为:+c.ToString(); catch (FormatException) / 处理转换发生的异常 label3 .Text = 请将被除数或除数的值输入为数字!; 章节目录章节目录上一页上一页下一页下一页catch (DivideByZeroException) / 处理除数为零的异常 label3 .Text = 除数不能为零!; finally / 清除异常 MessageBox.Show(感谢使用本软件,程序正常结束); 章节目录章节目录上一页上一页下一页下一页14.1.4 抛出异

9、常和常用异常类1. 抛出异常在程序设计时可能需要有意的引发某种异常,以测试程序在不同状态下的运行情况。Visual Sdudio 2005提供的throw方法就是专门用于人为引发异常的。通常将这种主要用于测试程序的、能够自动引发异常的方法称为“抛出异常”。例如下列代码将在程序运行时引发一个除数为零的异常。throw new DivideByZeroException();章节目录章节目录上一页上一页下一页下一页2. 常用的异常类 MemberAccessException:访问错误:类型成员不能被访问ArgumentException :参数错误:方法的参数无效ArgumentNullExce

10、ption :参数为空:给方法传递一个不可接受的空参数ArithmeticException :数学计算错误:由于数学运算导致的异常,覆盖面广ArrayTypeMismatchException :数组类型不匹配DivideByZeroException :被零除FormatException:参数的格式不正确 IndexOutOfRangeException :索引超出范围,小于0或比最后一个元素的索引还大章节目录章节目录上一页上一页下一页下一页InvalidCastException :非法强制转换,在显式转换失败时引发MulticastNotSupportedException :不支持

11、的组播:组合两个非空委派失败时引发NotSupportedException :调用的方法在类中没有实现NullReferenceException :引用空引用对象时引发OutOfMemoryException :无法为新语句分配内存时引发,内存不足OverflowException :溢出StackOverflowException:栈溢出 TypeInitializationException:错误的初始化类型:静态构造函数有问题时引发 NotFiniteNumberException:无限大的值:数字不合法章节目录章节目录上一页上一页下一页下一页14.1.5 14.1.5 用户自定义异

12、常用户自定义异常对于某些特殊情况,程序员可以通过继承Exception来创建自己的异常类。声明一个异常类的语法格式如下:class ExceptionName:Exception引发自定义异常的格式如下:throw(ExceptionName);章节目录章节目录上一页上一页下一页下一页14.2 部署部署Windows应用程序应用程序14.2.1 生成安装包打开设计完成的Visual Sduio 2005项目,“文件”菜单“添加”下的“新建项目”命令。在图14-4所示的对话框“项目类型”列表中选择“安装和部署”,在模板列表中选择“安装向导”,单击【确定】按钮启动“安装项目向导”。在“欢迎”界面中

13、直接单击【下一步】按钮,在对话框中选择“为Windows应用程序创建一个安装程序”后单击【下一步】按钮。章节目录章节目录上一页上一页下一页下一页在 “选择要包含的项目输出”对话框中选择需要包含的内容(至少要包含“主输出”)单击【下一步】按钮。在对话框中单击【添加】按钮可将希望包含到安装项目中的一些辅助文件添加到安装包。向导结束后将自动进入 “文件系统”窗口,单击【应用程序】文件夹可以看到前面添加到其中的主程序和附加文件。鼠标指向窗口中“用户的程序菜单”单击右键,在弹出的快捷菜单中执行“添加”项下的“文件夹”命令,使安装程序能够在Windows“开始”菜单中创建一个目录。选择新创建的文件夹,在文件夹内容窗格中单击右键,在弹出的快捷菜单中执行“创建新的快捷方式”命令。在打开的对话框中选择“应用程序文件”中的“主输出”(主程序)后单击【确定】按钮。章节目录章节目录上一页上一页下一页下一页14.2.2

温馨提示

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

最新文档

评论

0/150

提交评论