中国水利水电出版社:《C#程序设计》教材配套PPT课件_第12章 异常处理

第12章异常处理 121异常处理概述 1122常见的异常 123异常处理的基本方法 124用户自定义的异常
1 第12章 异常处理 12.1 异常处理概述 12.2 常见的异常 12.3 异常处理的基本方法 12.4 用户自定义的异常

异常是一种封装了反常程序事件信息的对 象,C#用异常来处理错误和反常情况。 令当异常抛出时,当前函数的执行会停止, 堆栈展开,直到找到正确的异常处理代码, 异常处理代码就是处理异常的代码块 令如果异常得到处理,程序会解决问题并继 续执行。即使程序不能继续执行,捕获异 常也能使程序输出错误信息并安全地终止 程序。 目录
2 ❖ 异常是一种封装了反常程序事件信息的对 象,C#用异常来处理错误和反常情况。 ❖ 当异常抛出时,当前函数的执行会停止, 堆栈展开,直到找到正确的异常处理代码, 异常处理代码就是处理异常的代码块。 ❖ 如果异常得到处理,程序会解决问题并继 续执行。即使程序不能继续执行,捕获异 常也能使程序输出错误信息并安全地终止 程序。 返回目录

在C#中提供有很多的异常类,所有的异常类 都是 System EXception类型或是从其派生的 类型 冷表12-1列出了 System命名空间中许多常见的 异常类。 返回目录
3 ❖ 在C#中提供有很多的异常类,所有的异常类 都是System.Exception类型或是从其派生的 类型。 ❖ 表12-1列出了System命名空间中许多常见的 异常类。 返回目录

12.3.1try- catch语句 冷ty块中包含可能会产生异常的语句。 catch从句捕捉并处理异常 冷如果能确定在try语句块中可能发生的异常类 型,那么 catch语句可以捕捉相应的异常类型 如果事先并不知道ty语句块中会引起哪一种 异常,则在 catch语句中可以忽略异常的类型
4 12.3.1 try-catch语句 ❖ try块中包含可能会产生异常的语句。 ❖ catch从句捕捉并处理异常。 ❖ 如果能确定在try语句块中可能发生的异常类 型,那么catch语句可以捕捉相应的异常类型; 如果事先并不知道try语句块中会引起哪一种 异常,则在catch语句中可以忽略异常的类型

今如果是多个异常,可以用多个 catch语句块 /tny语句块 catch(类型1参数1) /针对类型1的异常处理 catch(类型2参数2) ∥针对类型2的异常处理 catch(类型n参数n) 对类型n的异常处理
5 ❖ 如果是多个异常,可以用多个catch语句块: try { //try语句块 } catch(类型1 参数1) { //针对类型1的异常处理 } catch (类型2 参数2) { //针对类型2的异常处理 } … catch (类型n 参数n) { //针对类型n的异常处理 }

1232try-fna!y语句 令如果程序更关心异常的清除而不是异常处理, 那么最好使用try-fna!语句 令该语句不仅抑制了异常信息,而且程序执 控制在任何情况下都会转换到fnay语句块, 即包含在fnay块中的所有代码都会被执行。 冷尽管程序不能正常终止,但在 finally块中可以 为用户获取一些有用的异常信息
6 12.3.2 try-finally语句 ❖ 如果程序更关心异常的清除而不是异常处理, 那么最好使用try-finally语句。 ❖ 该语句不仅抑制了异常信息,而且程序执行 控制在任何情况下都会转换到finally语句块, 即包含在finally块中的所有代码都会被执行。 ❖ 尽管程序不能正常终止,但在finally块中可以 为用户获取一些有用的异常信息

123.3try- catch- finally语句 应用程序对于错误最有可能的处理方法是合 并前面两种异常处理技术——一捕获、处理异 常以及清除异常并继续执行应用程序。故此 在程序中需要联合使用ty- catch- - finally语句, 它能为用户处理所有的异常
7 12.3.3 try-catch-finally语句 ❖ 应用程序对于错误最有可能的处理方法是合 并前面两种异常处理技术——捕获、处理异 常以及清除异常并继续执行应用程序。故此 在程序中需要联合使用try-catch-finally语句, 它能为用户处理所有的异常

12.34 throw语句 throw语句的作用是抛出一个异常,它的语法为 throw表达式; throw语句的表达式是可选的。带有表达式的 throw语句将抛出一个计算该表达式之后得到的 异常,但是该表达式的值必须是类 System. EXception类型,或是该类派生类的类 型。 如果表达式的值为nu,那么将抛出一个 Nu| ReferenceEXception异常。 8 返回目录
8 12.3.4 throw语句 ❖ throw语句的作用是抛出一个异常,它的语法为: throw 表达式; ❖ throw语句的表达式是可选的。带有表达式的 throw语句将抛出一个计算该表达式之后得到的 异常,但是该表达式的值必须是类 System.Exception类型,或是该类派生类的类 型。 ❖ 如果表达式的值为null,那么将抛出一个 NullReferenceException异常。 返回目录

除了系统提供的异常外,用户还可以自定义异常 要创建用户自定义的异常,必须首先声明它,声 明的格式为: class自定义异常名: EXception{ 然后,在 catch语句块中创建自定义异常的处理 方法,这一般只需一行代码即可 令再后,为了抛出自定义异常,需要使用关键字 thow。其格式为: throw new自定义异常名0; 目录
9 ❖ 除了系统提供的异常外,用户还可以自定义异常。 ❖ 要创建用户自定义的异常,必须首先声明它,声 明的格式为: class 自定义异常名: Exception { } ❖ 然后,在catch语句块中创建自定义异常的处理 方法,这一般只需一行代码即可。 ❖ 再后,为了抛出自定义异常,需要使用关键字 throw。其格式为: throw new 自定义异常名(); 返回目录
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 中国水利水电出版社:《C#程序设计》教材配套PPT课件_第11章 特征与命名空间.ppt
- 中国水利水电出版社:《C#程序设计》教材配套PPT课件_第10章 接口.ppt
- 中国水利水电出版社:《C#程序设计》教材配套PPT课件_第9章 代表和事件.ppt
- 中国水利水电出版社:《C#程序设计》教材配套PPT课件_第8章 属性和索引器.ppt
- 中国水利水电出版社:《C#程序设计》教材配套PPT课件_第7章 方法.ppt
- 中国水利水电出版社:《C#程序设计》教材配套PPT课件_第6章 类.ppt
- 中国水利水电出版社:《C#程序设计》教材配套PPT课件_第5章 程序流程控制.ppt
- 中国水利水电出版社:《C#程序设计》教材配套PPT课件_第4章 控制台输入/输出.ppt
- 中国水利水电出版社:《C#程序设计》教材配套PPT课件_第3章 常量与变量.ppt
- 中国水利水电出版社:《C#程序设计》教材配套PPT课件_第2章 数据类型.ppt
- 中国水利水电出版社:《C#程序设计》教材PPT课件_第1章 C#程序设计概述.ppt
- 北京科技大学职业技术学院:《C语言程序设计教程》课程电子教案(PPT教学课件)第8章 编译预处理.ppt
- 北京科技大学职业技术学院:《C语言程序设计教程》课程电子教案(PPT教学课件)第7章 函数.ppt
- 北京科技大学职业技术学院:《C语言程序设计教程》课程电子教案(PPT教学课件)第6章 数组.ppt
- 北京科技大学职业技术学院:《C语言程序设计教程》课程电子教案(PPT教学课件)第5章 循环结构程序设计.ppt
- 北京科技大学职业技术学院:《C语言程序设计教程》课程电子教案(PPT教学课件)第4章 选择结构程序设计.ppt
- 北京科技大学职业技术学院:《C语言程序设计教程》课程电子教案(PPT教学课件)第3章 顺序结构程序设计.ppt
- 北京科技大学职业技术学院:《C语言程序设计教程》课程电子教案(PPT教学课件)第2章 数据类型、运算符与表达式.ppt
- 北京科技大学职业技术学院:《C语言程序设计教程》课程电子教案(PPT教学课件)第1章 C语言概述.ppt
- 《数据结构》课程教学资源:第九章 文件.ppt
- 《Java程序设计与应用》课程实用教程(PPT课件讲稿)第10章 异常处理.ppt
- 《Java程序设计与应用》课程实用教程(PPT课件讲稿)第11章 图形用户界面.ppt
- 《Java程序设计与应用》课程实用教程(PPT课件讲稿)第12章 网络编程基础.ppt
- 《Java程序设计与应用》课程实用教程(PPT课件讲稿)第13章 JSP程序设计.ppt
- 《Java程序设计与应用》课程实用教程(PPT课件讲稿)第14章 数据库编程基础.ppt
- 《Java程序设计与应用》课程实用教程(PPT课件讲稿)第1章 Java语言概述.ppt
- 《Java程序设计与应用》课程实用教程(PPT课件讲稿)第2章 Java语言基础.ppt
- 《Java程序设计与应用》课程实用教程(PPT课件讲稿)第3章 类和对象.ppt
- 《Java程序设计与应用》课程实用教程(PPT课件讲稿)第4章 类的方法.ppt
- 《Java程序设计与应用》课程实用教程(PPT课件讲稿)第5章 类的重用.ppt
- 《Java程序设计与应用》课程实用教程(PPT课件讲稿)第6章 接口与多态.ppt
- 《Java程序设计与应用》课程实用教程(PPT课件讲稿)第7章 输入输出流.ppt
- 《Java程序设计与应用》课程实用教程(PPT课件讲稿)第8章 群体对系的组织.ppt
- 《Java程序设计与应用》课程实用教程(PPT课件讲稿)第9章 多线程.ppt
- 21世纪高职高专规划教材:《计算机基础》项目一 计算机基础知识.ppt
- 21世纪高职高专规划教材:《计算机基础》项目七 Iuternet网络应用.ppt
- 21世纪高职高专规划教材:《计算机基础》项目三 中文hw和P操作系统.ppt
- 21世纪高职高专规划教材:《计算机基础》项目二 键盘及文字录.ppt
- 21世纪高职高专规划教材:《计算机基础》项目五 Excel 22003表格处理软件.ppt
- 21世纪高职高专规划教材:《计算机基础》项目六 Powerpoint幻灯片制作.ppt