C#C++C语言学会编程第13课异常处理

C#C++C语言学会编程第13课异常处理

ID:34202305

大小:61.62 KB

页数:12页

时间:2019-03-04

C#C++C语言学会编程第13课异常处理_第1页
C#C++C语言学会编程第13课异常处理_第2页
C#C++C语言学会编程第13课异常处理_第3页
C#C++C语言学会编程第13课异常处理_第4页
C#C++C语言学会编程第13课异常处理_第5页
资源描述:

《C#C++C语言学会编程第13课异常处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第13章异常处理异常是程序执行时遇到的任何错误情况或意外行为。应用程序必须能够统一处理在执行期间发生的错误。.NETFramework公共语言运行库提供了一个模型,以统一的方式通知程序发生的错误。本章将讲解C#语言中的异常处理机制,主要介绍以下知识点。�异常概述;try语句;System.Exception类;.NETFramework常用异常类;�创建自定义异常类。C#从入门到实践13.1异常概述和C++程序语言一样,C#程序语言也存在异常处理机制。C#程序语言中的异常用于处理系统级和应用程序级的错误状态,它是一种结构化的、统一

2、的和类型安全的处理机制。C#从入门到实践13.1.1导致异常的原因在应用程序运行时,发生异常的原因是多种多样的,如除数为0、堆栈溢出等。导致异常的原因可以归纳为以下2大类。�在执行语句和表达式(C#语言)的过程中,有时会出现一些例外情况,从而使得某些操作无法正常完成,此时就会引发一个异常。�应用程序使用throw语句特意产生一个异常,此时将引发一个异常。C#从入门到实践13.1.2try语句try语句可以用来捕捉在代码块的执行期间发生的各种异常。它可以包含try块、catch块和finally块,具体说明如下。�try块,一般包含

3、有可能发生异常的代码。�catch块,包含出现异常时需要执行的响应代码。�finally块,包含出现异常时一定执行的代码,如资源清理等操作。C#从入门到实践13.1.3异常处理异常是由try语句处理的。当发生异常时,系统将搜索与当前try块相关的最近的、可以处理该异常的catch块,然后由该catch块处理该异常。如果与当前try块相关的所有catch块都不能处理该异常,则沿着堆栈向上搜索封闭该异常代码的try块及其相关联的catch块,如果找到,则由该catch块处理该异常。如果还没有找到catch块,则重复上述过程,直到找到c

4、atch块。如果到达调用堆栈顶部仍然没有找到处理该异常的catch块,则由默认的异常处理程序处理该异常,然后应用程序终止。C#从入门到实践13.2System.Exception类System.Exception类表示在应用程序执行期间发生的错误,它是.NETFramework中所有异常的基类型。当系统或应用程序发生错误时,将通过引发包含错误信息的异常来报告错误。一旦异常发生后,将由该应用程序或默认异常处理程序(如System.Exception类)来处理异常。System.Exception类包含描述错误的可读文本。当异常发生时

5、,应用程序的运行库(如.NETFramework)将产生消息(保存在Exception类的实例的Message属性中)通知用户错误的性质并提供解决该问题的操作建议。Exception类包括以下两类异常。�从SystemException派生的预定义公共语言运行库异常类。从ApplicationException派生的用户定义的应用程序异常类。C#从入门到实践13.3常用异常类.NETFramework提供了10个常用异常类,如处理空(null)引用的System.NullReferenceException类、处理数组索引小于0或

6、超过其下标的System.IndexOutOfRangeException类等。这些常用异常类及其说明如表13.3所示。类描述System.NullReferenceException如果使用null引用,引发此异常。System.IndexOutOfRangeException如果使用小于零或超出数组界限的下标访问数组时,引发该异常。System.InvalidCastException如果显式转换失败时,就会引发此异常。System.DivideByZeroException当除数为0时,引发该异常。System.StackO

7、verflowException当堆栈溢出(如无限递归)时,引发该异常。System.OverflowException在checked上下文中的算术运算溢出时,引发该异常。System.OutOfMemoryException在通过new操作分配内存失败时,引发该异常。System.ArithmeticException在算术运算期间发生错误时,引发该异常。System.TypeInitializationException静态构造函数引发异常,且没有可以捕捉到它的catch子句时,引发该异常。System.ArrayTypeM

8、ismatchException如果被存储的元素的实际类型与数组的元素类型不兼容时,引发此异常。C#从入门到实践13.4实例一:自定义异常处理类本实例创建了一个自定义异常处理类,它的名称为CustomException,并直接继承于System.E

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。