异常处理和应用程序打包课件.ppt

上传人(卖家):晟晟文业 文档编号:4374320 上传时间:2022-12-03 格式:PPT 页数:20 大小:487.05KB
下载 相关 举报
异常处理和应用程序打包课件.ppt_第1页
第1页 / 共20页
异常处理和应用程序打包课件.ppt_第2页
第2页 / 共20页
异常处理和应用程序打包课件.ppt_第3页
第3页 / 共20页
异常处理和应用程序打包课件.ppt_第4页
第4页 / 共20页
异常处理和应用程序打包课件.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、信息管理与信息系统班信息管理与信息系统班l14.1.1 用用trycatch语句捕获异常语句捕获异常 正常情况下,程序流进入正常情况下,程序流进入try控制块,如果没有错误发生控制块,如果没有错误发生,就会正常操作。当程序流离开,就会正常操作。当程序流离开try控制块后,如果没有发生控制块后,如果没有发生错误,将执行错误,将执行catch后的后的finally语句块或顺序执行;当执行语句块或顺序执行;当执行try时发生错误,程序流就会跳转到相应的时发生错误,程序流就会跳转到相应的catch语句块。语句块。【例11-1】trycatch语句结构使用示例。在TextBox控件中接收两个数,单击【计

2、算】按钮,显示这两个数的商。要求使用trycatch语句结构识别并处理由除数或被除数为非数字引发的异常、由除数为零引发的异常。【计算计算】按钮被单击时执行的事件过程代码如下:按钮被单击时执行的事件过程代码如下:private void button1_Click(object sender,private void button1_Click(object sender,EventArgsEventArgs e)e)intint a,b,c;a,b,c;/声明变量声明变量 try /try /试图捕获异常试图捕获异常 /将文本转换为将文本转换为Int32Int32类型的整数类型的整数 a=Co

3、nvert.ToInt32(textBox1.Text);a=Convert.ToInt32(textBox1.Text);catch /catch /发生异常时的处理发生异常时的处理 label3.Text=label3.Text=提示:请将被除数的值输入为数字!提示:请将被除数的值输入为数字!;return;return;try b=Convert.ToInt32(textBox2.Text);catch label3.Text=提示:请将除数的值输入为数字!提示:请将除数的值输入为数字!;return;try c=a/b;catch(DivideByZeroException)/如果发生

4、除数为如果发生除数为0的异常的异常 label3.Text=提示:除数不能为提示:除数不能为!;return;/正确运行时显示运算结果正确运行时显示运算结果 label3.Text=两数的商为:两数的商为:+c.ToString();l11.1.2 用用tryfinally语句清除异常语句清除异常有时可能希望在程序运行时,要求清除异常而不是错误处理。有时可能希望在程序运行时,要求清除异常而不是错误处理。若希望使程序在出现异常时继续执行,且不显示出错信息。若希望使程序在出现异常时继续执行,且不显示出错信息。此时可以使用此时可以使用try-finally语句实现清除异常。它不仅抑制了出错语句实现清

5、除异常。它不仅抑制了出错消息,而且所有包含在消息,而且所有包含在finally块中的代码在异常被引发后仍块中的代码在异常被引发后仍然会被执行。然会被执行。【例例14-2】设计一个设计一个Windows应用程序,用来检查指定文件是应用程序,用来检查指定文件是否存在。要求无论文件存在与否,程序均能正常结束并显示否存在。要求无论文件存在与否,程序均能正常结束并显示“感谢使用本软件感谢使用本软件”的信息框。的信息框。文件存在或不存在的程序运行结果文件存在或不存在的程序运行结果【检查检查】按钮被单击时执行的事件过程代码如下:按钮被单击时执行的事件过程代码如下:private void button1_C

6、lick(object sender,EventArgs e)try /判断文件是否存在判断文件是否存在 if(File.Exists(textBox1.Text)label2.Text=该文件存在该文件存在;else label2.Text=该文件不存在该文件不存在;finally /无论是否发生异常,都正常结束无论是否发生异常,都正常结束 MessageBox.Show(感谢使用本软件感谢使用本软件!,程序结束程序结束);l11.1.3 trycatchfinally语句结构语句结构l前面介绍的前面介绍的trycatch结构和结构和tryfinally结构分别用来捕获结构分别用来捕获处理异

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

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

9、1.4 抛出异常和常用异常类抛出异常和常用异常类1.抛出异常抛出异常在程序设计时可能需要有意的引发某种异常,以测试程序在不在程序设计时可能需要有意的引发某种异常,以测试程序在不同状态下的运行情况。同状态下的运行情况。Visual Sdudio 2005提供的提供的throw方法方法就是专门用于人为引发异常的。就是专门用于人为引发异常的。通常将这种主要用于测试程序的、能够自动引发异常的方法称通常将这种主要用于测试程序的、能够自动引发异常的方法称为为“抛出异常抛出异常”。例如下列代码将在程序运行时引发一个除数为零的异常。例如下列代码将在程序运行时引发一个除数为零的异常。throw new Divi

10、deByZeroException();2.常用的异常类常用的异常类 lMemberAccessException:访问错误:类型成员不能被访问访问错误:类型成员不能被访问lArgumentException:参数错误:方法的参数无效参数错误:方法的参数无效lArgumentNullException:参数为空:给方法传递一个不可接受的空参数参数为空:给方法传递一个不可接受的空参数lArithmeticException:数学计算错误:由于数学运算导致的异常,覆盖面数学计算错误:由于数学运算导致的异常,覆盖面广广lArrayTypeMismatchException:数组类型不匹配数组类型不匹

11、配lDivideByZeroException:被零除被零除lFormatException:参数的格式不正确参数的格式不正确 lIndexOutOfRangeException:索引超出范围,小于索引超出范围,小于0或比最后一个元素的或比最后一个元素的索引还大索引还大lInvalidCastException:非法强制转换,在显式转换失败时引发非法强制转换,在显式转换失败时引发lMulticastNotSupportedException:不支持的组播:组合两个非空委派失不支持的组播:组合两个非空委派失败时引发败时引发lNotSupportedException:调用的方法在类中没有实现调用

12、的方法在类中没有实现lNullReferenceException:引用空引用对象时引发引用空引用对象时引发lOutOfMemoryException:无法为新语句分配内存时引发,内存不足无法为新语句分配内存时引发,内存不足lOverflowException:溢出溢出lStackOverflowException:栈溢出栈溢出 lTypeInitializationException:错误的初始化类型:静态构造函数有问题时错误的初始化类型:静态构造函数有问题时引发引发 lNotFiniteNumberException:无限大的值:数字不合法无限大的值:数字不合法11.1.5 用户自定义异常

13、用户自定义异常对于某些特殊情况,程序员可以通过继承对于某些特殊情况,程序员可以通过继承Exception来创建自己来创建自己的异常类。的异常类。声明一个异常类的语法格式如下:声明一个异常类的语法格式如下:class ExceptionName:Exception引发自定义异常的格式如下:引发自定义异常的格式如下:throw(ExceptionName);11.2 部署Windows应用程序l11.2.1 生成安装包生成安装包l打开设计完成的项目,打开设计完成的项目,“文件文件”菜单菜单“添加添加”下的下的“新建项新建项目目”命令。在对话框命令。在对话框“项目类型项目类型”列表中选择列表中选择“

14、安装和部署安装和部署”,在模板列表中选择,在模板列表中选择“安装向导安装向导”,单击,单击【确定确定】按钮启按钮启动动“安装项目向导安装项目向导”。l在在“欢迎欢迎”界面中直接单击界面中直接单击【下一步下一步】按钮,在对话框中选按钮,在对话框中选择择“为为Windows应用程序创建一个安装程序应用程序创建一个安装程序”后单击后单击【下一下一步步】按钮。按钮。l在在“选择要包含的项目输出选择要包含的项目输出”对话框中选择需要包含的内容(至少要包对话框中选择需要包含的内容(至少要包含含“主输出主输出”)单击)单击【下一步下一步】按钮。在对话框中单击按钮。在对话框中单击【添加添加】按钮可按钮可将希望

15、包含到安装项目中的一些辅助文件添加到安装包。将希望包含到安装项目中的一些辅助文件添加到安装包。l向导结束后将自动进入向导结束后将自动进入“文件系统文件系统”窗口,单击窗口,单击【应用程序应用程序】文件夹可文件夹可以看到前面添加到其中的主程序和附加文件。以看到前面添加到其中的主程序和附加文件。l鼠标指向窗口中鼠标指向窗口中“用户的程序菜单用户的程序菜单”单击右键,在弹出的快捷菜单中执单击右键,在弹出的快捷菜单中执行行“添加添加”项下的项下的“文件夹文件夹”命令,使安装程序能够在命令,使安装程序能够在Windows“开始开始”菜单中创建一个目录。菜单中创建一个目录。l选择新创建的文件夹,在文件夹内

16、容窗格中单击右键,在弹出的快捷菜选择新创建的文件夹,在文件夹内容窗格中单击右键,在弹出的快捷菜单中执行单中执行“创建新的快捷方式创建新的快捷方式”命令。在打开的对话框中选择命令。在打开的对话框中选择“应用程应用程序文件序文件”中的中的“主输出主输出”(主程序)后单击(主程序)后单击【确定确定】按钮。按钮。11.2.2 编译安装项目编译安装项目l所有设置结束后,可在所有设置结束后,可在Visual Studio 2005工具栏中解决方案工具栏中解决方案配置,由配置,由“Debug”(调试)改为(调试)改为“Release”(发布)。(发布)。l选中安装项目名称,单击鼠标右键,在弹出的快捷菜单中执选中安装项目名称,单击鼠标右键,在弹出的快捷菜单中执行行“生成生成”命令,就能得到编译打包过的,存放在源程序文命令,就能得到编译打包过的,存放在源程序文件夹下件夹下Release子文件夹中的安装文件子文件夹中的安装文件Setup.exe文件。文件。l本章通过一些小实例的分析和实现,讲解了本章通过一些小实例的分析和实现,讲解了C#C#中异常处理与中异常处理与应用程序的部署。应用程序的部署。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(异常处理和应用程序打包课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|