11.异常处理与应用程序打包.pptVIP

  • 1
  • 0
  • 约3.95千字
  • 约 20页
  • 2017-06-04 发布于湖北
  • 举报
【例11-1】try…catch语句结构使用示例。在TextBox控件中接收两个数,单击【计算】按钮,显示这两个数的商。 要求使用try…catch语句结构识别并处理由除数或被除数为非数字引发的异常、由除数为零引发的异常。 【计算】按钮被单击时执行的事件过程代码如下: private void button1_Click(object sender, EventArgs e) { int a, b , c; // 声明变量 try // 试图捕获异常 { // 将文本转换为Int32类型的整数 a = Convert.ToInt32(textBox1.Text); } catch // 发生异常时的处理 { label3 .Text =提示:请将被除数的值输入为数字!; return; } try { b = Convert.ToInt32 (textBox2.Text); } catch { label3 .Text =提示:请将除数的值输入为数字!; return; } try { c = a / b; } catch (DivideByZeroException) // 如果发生除数为0的异常 { label3 .Text =提示:除数不能为0!; return; } // 正确运行时显示运算结果 label3.Text = 两数的商为:+c.ToString(); } 11.1.2 用try…finally语句清除异常 有时可能希望在程序运行时,要求清除异常而不是错误处理。若希望使程序在出现异常时继续执行,且不显示出错信息。 此时可以使用try-finally语句实现清除异常。它不仅抑制了出错消息,而且所有包含在finally块中的代码在异常被引发后仍然会被执行。 【例14-2】设计一个Windows应用程序,用来检查指定文件是否存在。要求无论文件存在与否,程序均能正常结束并显示“感谢使用本软件”的信息框。 【检查】按钮被单击时执行的事件过程代码如下: private void button1_Click(object sender, EventArgs e) { try { // 判断文件是否存在 if (File.Exists(textBox1.Text)) { label2.Text = 该文件存在; } else label2.Text = 该文件不存在; } finally // 无论是否发生异常,都正常结束 { MessageBox.Show(感谢使用本软件!,程序结束); } } 11.1.3 try…catch…finally语句结构 前面介绍的try…catch结构和try…finally结构分别用来捕获处理异常和清除异常。本节介绍的try…catch…finally结构能将上述二者结合起来,使之成为一个整体。 【例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.ToInt32 (textBox2.Text); c = a / b; label3.Text = 两数的商为:+c.ToString(); } catch (FormatException) // 处理转换发生的异常 { label3 .Text = 请将被除数或除数的值输入为数字!; } catch (DivideByZeroException) // 处理除数为零的异常 { label3 .Text = 除数不能为零!; } finally // 清除异常 { MessageBox.Show(感谢使用本软件,

文档评论(0)

1亿VIP精品文档

相关文档