C#学习第8章异常处理.ppt

上传人:wuy****n92 文档编号:70098182 上传时间:2023-01-16 格式:PPT 页数:10 大小:245.99KB
返回 下载 相关 举报
C#学习第8章异常处理.ppt_第1页
第1页 / 共10页
C#学习第8章异常处理.ppt_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《C#学习第8章异常处理.ppt》由会员分享,可在线阅读,更多相关《C#学习第8章异常处理.ppt(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第8章 异常处理我们编写程序的时候,总是希望程序按照自己的意愿工作,但是总可能发生意外,有些意外在编写代码的时候是检查不到的,更有些意外是因为软件所处的环境改变所致。为了提前预防意外的发生,C#提出了异常处理机制,非常聪明地处理这些事情。本章主要涉及到的知识点有:了解什么是异常,以及C#的异常处理机制。C#常用的异常。用try、catch和finally关键字捕获异常。用throw关键字抛出异常。自定义异常。8.1 为什么要异常处理在开发过程中,我们可以通过程序调试和代码走查来修改程序代码错误。但是程序在运行过程中,往往会遇到一些运行时错误。异常是面向对象编程中用于处理程序错误的有效机制。C#

2、语言本身提供了很好的异常处理机制,充分体现了语言的健壮性。8.1.1 程序的异常【本节示例参考:源代码chapter88.1.1ExceptionExample】我们公司在7楼,下班以后,和同事一起出门,当时电梯还没有到,同事要求走楼梯,我坚持坐电梯,因为一般情况坐电梯都比走楼梯快,但是等坐上电梯以后,电梯出了故障,等我下楼以后,同事早已经在下面等着我了。这是生活中的一个异常。那么,程序中的异常又是怎样的呢?首先,来看一个例子。程序员输入如下的代码逻辑,希望得到输出的结果。int val=10;/定义变量ifor(int i=5;i 0;i-)val=i/val;/改变变量值 Console.

3、WriteLine(val=0,val);8.1.2 处理C#中的异常【本节示例参考:源代码chapter88.1.2ExceptionExample】和同事下楼以后,同事幸灾乐祸的地说我坐电梯没他走楼梯快。我说是啊,如果我知道电梯要坏的话,就跟他走楼梯了。可是我之前根本无法知道电梯会坏。生活中经常发生这种不可预测的意外。程序中也一样,总可能发生异常。异常是在程序运行过程中发生的,如图8.2演示了异常处理流程。8.2 捕获异常C#语言提供了异常处理的语法支持,C#通过关键字try、catch和finally来执行异常处理。同时可以通过关键字throw抛出异常,让程序上一级或者系统本身来处理抛出

4、的异常。理解了异常处理,只是应用异常的第一步,下面的工作就是捕获异常,并对异常进行处理。同时,读者还可以根据自己的需要自定义异常。8.2.1 trycatchfinally语句【本节示例参考:源代码chapter88.2.1ExceptionExample】继续以坐电梯和走楼梯的故事为例,走楼梯是一种非常保险的方式,不需要考虑有意外的发生;坐电梯就有可能遇到电梯发生故障,但是坐电梯要快一些。所以这样考虑这件事情:我试图坐电梯,如果遇到故障,就按警报!按照编程的逻辑重新组织一下语言,如下所示:试图 坐电梯遇到(故障)按警报最终 到了楼下8.2.2 抛出异常【本节示例参考:源代码chapter88

5、.2.2ExceptionExample】前面演示了如何使用trycatchfinally语句捕获程序异常,这种异常通常只在代码出现错误的时候发生。其实,还可以在代码中显示的抛出异常,方法是使用关键字throw。下面我们编写一个程序,代码如下:8.2.3 自定义异常【本节示例参考:源代码chapter88.2.3ExceptionExample】合理地编写自定义异常类有助于更精确的捕获异常,而不是笼统地认为所有的异常都归结于.NET Framework中定义的Exception类或其已经定义好了的类型。8.3 小结本章讲解了异常处理,大家通过对本章的学习,能够充分地了解.NET Framewo

6、rk的异常处理机制,使用.NET Framework自带的异常类处理程序,也可以自定义异常类处理程序。通过本章,读者学习了以下内容:(1)异常是程序运行时错误,发生异常时,程序将意外终止,并将控制权返回给操作系统。(2)C#常用的异常处理类派生自System.Exception基类。(3)C#用try、catch和finally关键字捕获异常。用throw关键字抛出异常。本章习题一、选择题1下列关于trycatchfinaly语句的说明中,不正确的是()Acatch块可以有多个Bfinaly块是可选的Ccatch块也是可选的D可以只有try块2为了能够在程序中捕获所有的异常,在catch语句的括号中使用的类名为()AExceptionBDivideByZeroExceptionCFormatExceptionD以上三个均可3关于异常,下列的说法中不正确的是()A用户可以根据需要抛出异常B在被调用方法可通过throw语句把异常传回给调用方法C用户可以自己定义异常D在C#中有的异常不能被捕获二、简答题简述为什么要进行异常捕获。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁