c#中程序异常处理_第1页
c#中程序异常处理_第2页
c#中程序异常处理_第3页
c#中程序异常处理_第4页
c#中程序异常处理_第5页
全文预览已结束

下载本文档

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

文档简介

第五讲 异常处理 教学要求 教学要求 1 理解异常处理的概念理解异常处理的概念 2 掌握异常处理的方法掌握异常处理的方法 教学学时 教学学时 2H 例 1 编写一个应用程序 要求用户通过两个文 本框输入两个数 并求它们的和 并在标签框中 输出 1 界面设计 新建一个项目 选择 windows 应用程序模板 在窗体上添加三个标签框 两个文本框和一个命 令按钮 如图所示 2 设置属性 先将两个文本框改名为 txtA 和 txtB 将输出 结果的标签框改名为 labC 再设置各对象的属性如 下 对象名属性名属性值 Form1Text加法练习 Label1Text第一个加数为 Label2Text第一个加数为 button1Text确定 labCText计算结果为 3 编写代码 双击确定命令按钮 进入代码编辑窗口 在自动生成的程序模块 private void button1 Click object sender EventArgs e 中输入以下代码 int a b c a Int32 Parse txtA Text b Int32 Parse txtB Text c a b labC Text 计算结果为 txtA Text txtB Text c ToString 4 运行程序 测试程序结果是否正确 例 2 异常处理 在程序测试时 输入一个小数 或输入一些字符 程序出现异常并中止运行 C 中提供了异常处理的机制方法为 通过 try 语句捕获异常 通过 catch 语句处理异常 通过 finally 语句完成程序的善后处 理 如收回已分配的资源 关闭与数据源的连接等 通过 throw 语句抛出自定义的异常 try int a b c a Int32 Parse txtA Text b Int32 Parse txtB Text c a b labC Text 计算结果为 txtA Text txtB Text c ToString catch MessageBox Show 请输入正确格式的整数 例 3 处理多个异常 在测试以上程序时 若输入一个很大的整数 程序的异常提示信息不够准确 C 提供 了处理多个异常的方法 try int a b c a Int32 Parse txtA Text b Int32 Parse txtB Text c a b labC Text 计算结果为 txtA Text txtB Text c ToString catch FormatException x MessageBox Show 请输入正确格式的整数 catch OverflowException x MessageBox Show 输入整数不能太大 例 4 进一步提高 FormatException x中的变量 x 的作用 及MessageBox Show 方法的重载 try int a b c a Int32 Parse txtA Text b Int32 Parse txtB Text c a b labC Text 计算结果为 txtA Text txtB Text c ToString catch FormatException x MessageBox Show x Message catch OverflowException x MessageBox Show 输入整数不大于 Int32 MaxValue ToString 异常信息 MessageBoxButtons OK MessageBoxIcon Warning 例 5 抛出自定义的异常及程序块的善后处理 C 可通过 throw 语句抛出自定义的异常 通过 finally 语句完成程序的善后处理 如收 回已分配的资源 关闭与数据源的连接等 public class MyException Exception 定义一个自定义的异常类MyException 继承自Exception public MyException base 请注意 输入的整数格式错误 定义MyException类的无参构造函数 调用基类的构造函数 并传递一个参数 请注意 输入的整数格式错误 public partial class Form1 Form public Form1 InitializeComponent private void button1 Click object sender EventArgs e try int a b c if txtA Text txtB Text throw new MyException a Int32 Parse txtA Text b Int32 Parse txtB Text c a b labC Text 计算结果为 txtA Text txtB Text c ToString catch MyException x MessageBox Show x Message catch FormatException x MessageBox Show 请注意 输入的整数格式错误 catch OverflowException x MessageBox Show 输入整数不大于 Int32 MaxValue ToString 异常信息 MessageBoxButtons OK MessageBoxIcon Warning finally MessageBox Show 已完成程序块的善后处理 finally 语句块是不论异常是否发生 都会执行的语句块 作业题 P38 1 补充知识 对文本框中输入数据的校验 public partial class Form1 Form int a b c public Form1 InitializeComponent private void button1 Click object sender EventArgs e c a b Label1 Text string Format 0 1 2 a b c private void textBox1 Validating object sender CancelEventArgs e try a int Parse textBox1 Text catch FormatException x MessageBox Show x Message textBox1 Focus textBox1 SelectAll private void textBox2 Validating object sender CancelEventArgs e try b int Parse textBox2 Text catch FormatException x MessageBox Show x Message textBox2 Focus textBox2 SelectAll private void textBox1 KeyPress object sender KeyPressEventArgs e if e KeyChar 13 textBox2 Focus private void textBox2 KeyPress object se

温馨提示

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

最新文档

评论

0/150

提交评论