第13章 异常处理清华大学C#编程及应用程序开发教程.ppt

第13章 异常处理清华大学C#编程及应用程序开发教程.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第13章 异常处理清华大学C#编程及应用程序开发教程

第13章 异 常 处 理 (时间:1.5次课,3学时) 第13章 异 常 处 理 在前面各章节中给出的每个例子的程序代码都能正常运行并输出正确结果,因为这些代码都是经过反复修改和调试后的程序代码,所以它们几乎都十分完美准确。可是在实际编程中,每个程序员编写的代码都不可避免要出现这样或那样的错误,如程序控制的逻辑问题或语法问题等,甚至包括来源于计算机内部和外部的问题,这些都会使程序在运行时产生异常。总之程序在运行期间出现异常是不可避免的,我们不能回避异常,而是要积极采取措施来控制和解决出现的异常现象。 本章教学目的: 了解产生异常的原因和异常处理的概念 掌握C#的异常处理方法 熟悉.NET Framework中的异常类 第13章 异 常 处 理 13.1 异常处理的概念 13.2 C#的异常控制机制 13.3 .NET Framework中的异常类 13.4 自定义异常类 13.1 异常处理的概念 1. 异常现象 所谓异常就是指在程序运行期间发生的错误或意外情况。产生异常的原因可能是以下的一种或多种,也可能是我们想象不到的其他问题: 代码的语法错误。如将一个字符串赋给了整型变量;循环控制失灵等。 代码的逻辑错误。如使用了无效的数组下标;访问了没有分配内存的对象;用户想要打开一个不存在的文件等。 用户的错误输入。这是由于用户不遵守程序本身规定的数据输入格式所引起。 计算机的物理限制。由于硬盘和内存的空间有限,而程序运行所需空间超出了这个限制,则程序运行时将产生异常。 计算机外部设备错误。计算机的外部设备可能处于不正常的工作状态,如远程的服务器运行不正常或打印机电源没打开等。如果我们的应用程序在这些外部设备运行不正常的情况下对其进行访问,则一定会出现异常。 一般我们将产生异常的原因分为两种:由程序本身产生的和由程序运行环境(公共语言运行时环境)引起的。如果异常是由于运行的程序本身引起,则大多数情况下这种异常是可以恢复的;但如果异常是由于公共语言运行时环境所引起,则大多数异常难以恢复。 13.1 异常处理的概念 2. 异常处理 当发生了异常时,一般计算机会弹出一个对话框并给出错误提示,也可能出现死机现象。不管怎样,程序在运行时出现异常都可能造成数据丢失或程序突然终止,即使系统给出错误提示,提示的信息也不具体,有时难以从中判断出错的位置。所以,我们希望应用程序在运行时出现异常时,能以一种友好的方式来处理异常,最起码能做到: 提示程序中出现的错误种类。 保存当前已经完成的工作。 忽略当前的错误,能返回到某种安全状态或安全地退出程序(即正常终止程序的运行)。 针对以上这些异常处理的要求,.NET Framework体系提供了一套特有的异常处理机制,称为“异常控制”,它可以以可控的结构化方式来处理运行期异常。如果我们在编程中使用C#语言的异常处理机制,则当程序在运行期间发生错误,系统能保证不仅给出较具体的错误方位,并且能忽略错误而正常返回到某种安全状态或正常终止。 13.1 异常处理的概念 3. C#的异常处理 传统上不具有异常处理能力的语言的异常处理机制是:要么依赖于该语言的错误检测和处理功能;要么依赖于操作系统提供的错误处理机制。在这种机制下,我们必须“手工”输入许多错误处理代码,而且在程序中需设置多个检查点,程序运行失败时将返回错误号,我们在程序设计中通过调用这些错误号的返回值来判断程序的出错方位。这种方式很繁琐,而且异常处理代码本身也容易出错。 例如:在以下程序中访问越界数组元素。 using System; class MyExcep { public static void Main() { int[ ] nums=new int[4]; nums[6]=10; //出错!越界访问数组元素 Console.WriteLine(At the end of test ); } } 13.1 异常处理的概念 上述代码在编译时不会出错,因为程序没有语法错误也没有提供实际的输出。但运行环境将发现该数组的索引值不能为6,由此引起异常。当我们运行该程序时,出现一个异常提示窗口,如果单击【确定】按钮则终止程序的运行,如果单击【取消】按钮则可调试此应用程序。由于在这个程序中没有定义任何调试代码使用的语句,所以无论是单击【确定】按钮,还是单击【取消】按钮,应用程序都会终止,并且运行环境还会给出以下异常信息文本: 未处理的System.IndexOutOfRangeException类型的异常出现在 ConsoleApplication1.exe 中 这个信息告诉我们发生了“索引超出了数组界限”的异常,这个异常的类型是System.IndexOutOfRangException,后面的信息是告

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档