教学课件第12章 异常处理.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《教学课件第12章 异常处理.ppt》由会员分享,可在线阅读,更多相关《教学课件第12章 异常处理.ppt(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C#程序设计案例教程程序设计案例教程第第12章章 异常处理异常处理 第第12章章 异常处理异常处理 学习目标学习目标掌握异常的定义和处理。掌握异常的定义和处理。熟悉自定义异常的定义。熟悉自定义异常的定义。第第12章章 异常处理异常处理 12.1 异常异常【课堂案例课堂案例12-1】执行下面的程序将出现异常执行下面的程序将出现异常,请用异常处理请用异常处理机制修改程序。机制修改程序。Class ArrayOutOfIndex public void calculateSum() int sum = 0; int count ; int number = new int51,2,3,4,5; fo
2、r(count=1;count=5;count+) sum+=numbercount; Console.WriteLine(“The sum of the array is :0”,sum); Class Program static void Main(string args) ArrayOutOfIndex obj = new ArrayOutOfIndex(); obj.calculateSum(); 第第12章章 异常处理异常处理 课堂案例12-1运行时出现的异常第第12章章 异常处理异常处理 【案例学习目标案例学习目标】掌握异常的概念。掌握异常的概念。掌握异常的处理机制。掌握异常的处
3、理机制。【案例知识要点案例知识要点】异常的概念与处理机制。异常的概念与处理机制。【案例完成步骤案例完成步骤】(1)初步认识异常。)初步认识异常。(2)使用异常的处理机制。)使用异常的处理机制。(3)修改应用程序。)修改应用程序。第第12章章 异常处理异常处理 12.1.1 初步初步认识异常认识异常下面通过一段简单代码来认识异常。class Program static void Main(string args) int a,b,c; a=2; b=0; c=a/b; 按Ctrl+F5组合键执行上述程序时,会弹出一个对话框,提示程序在执行过程中碰到问题,出现的对话框如下图所示:第第12章章 异
4、常处理异常处理 出现上述情况是因为程序遇到了异常,产生的异常类为System.DivideByZeroException,出现异常的原因是因为除数为0。异常是程序在执行期间发生的错误情况。当程序发生异常时,系统就会抛出一个错误。异常类是对异常的分类。它们是由System.Exception类派生出来的,关于异常类的层次结构如下图所示:System.ExceptionSystem.ApplicationExceptionSystem.SystemException第第12章章 异常处理异常处理 System.ApplicationException和System.SystemException是
5、System.Exception的直接子类,System.ApplicationException类是用户类型异常,如果用户想在程序中定义自己的异常,将要定义从该异常类继承的异常。System.SystemException是所有预定义系统异常的基类。一些派生自System.SystemException类的常用基类如下表所示:类类说明说明System.IO.IOException发生发生I/O错误时引发的异常错误时引发的异常System.IndexOutOfRangeException试图访问索引超出数组界限的数组试图访问索引超出数组界限的数组元素时引发的异常。无法继承此类元素时引发的异常。
6、无法继承此类System.NullReferenceException尝试取消引用空对象引用时引发的尝试取消引用空对象引用时引发的异常异常System.OutOfMemoryException没有足够的内存继续执行程序时引没有足够的内存继续执行程序时引发的异常发的异常第第12章章 异常处理异常处理 l 程序错误的分类根据错误出现的阶段,通常可以将程序错误分为如下三种:编译时错误、结果错误和运行时错误。(1)编译时错误:这种错误是发生在程序编写过程中,是指程序语法编写上出现的错误。(2)结果错误:结果错误指的是程序本身没有语法上的错误(即无编译错误),在程序运行期间也没有出现类似上图的错误提示。
7、但程序执行后得到的结果并不正确。这是由于程序设计思路上存在的缺陷,是程序算法在实现功能时出现的逻辑上的问题。(3)运行时错误:是指编译已通过,运行时发生的错误。运行时错误时由于与用户交互或对外设或网络的访问等可变情况,程序设计时考虑欠周全而导致的。第第12章章 异常处理异常处理 12.1.2 异常异常的处理机制的处理机制在C#中是通过try、catch和finally块来实现异常处理的。1. try程序块用户需要将可能导致异常的语句放入try程序块中。try程序块的使用方法如下:try /可能导致异常的语句try程序块管理放入其中的语句,并定义相关的异常处理程序的范围。换句话说,如果异常发生在
8、try程序块内,与try程序块相关的异常处理程序将处理该异常。ty程序块必须紧跟至少一个catch程序块。第第12章章 异常处理异常处理 2. catch程序块通过在try程序块后紧跟一个或多个catch处理程序可以将异常处理程序和try程序块关联起来。下列代码框架说明了catch程序块的使用。try /可能导致异常的语句catch() /异常处理代码catch语句将异常类的对象作为参数。如果异常发生了,就执行catch程序块中的语句。catch程序块的处理范围仅限于先前try程序块中的相关语句。第第12章章 异常处理异常处理 3. finally程序块finally用于执行不论异常是否被抛出
9、都会被执行的一个语句块。例如,在实现文件操作的过程中不管有没有异常,文件必须被关闭,文件被关闭的操作可放置在finally块中。try /可能导致异常的语句catch() /异常处理代码finally /最后的执行代码finally程序块跟在catch程序块后面。对于一个异常处理程序,只能有一个finally程序块。但是,并不是一定要使用finally程序块。第第12章章 异常处理异常处理 对于课堂案例12-1,要处理程序运行过程中出现的System.OutOfMemoryException异常,需要使用trycatch程序块。处理代码如下:try /捕获异常 for(count=1;coun
10、t=5;count+) sum += numbercount; Console.WriteLine(“The sum of the array is :0”,sum);catch(IndexOutOfRangeException e) Console.WriteLine(e.Message);说明:说明:(1)在)在trycatch结构中,结构中,catch语句块可以有多个,读者可以根据情况而定,但至少要有一个语句块可以有多个,读者可以根据情况而定,但至少要有一个catch语句块。语句块。(2)catch语句,按异常类型从深层派生异常类型到异常基类型(从特殊到一般)的顺序排列。若颠倒顺序则语句
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件第12章 异常处理 教学 课件 12 异常 处理
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内