专题二 异常处理和程序调试.ppt

专题二 异常处理和程序调试.ppt

ID:48059602

大小:1.08 MB

页数:11页

时间:2020-01-13

专题二 异常处理和程序调试.ppt_第1页
专题二 异常处理和程序调试.ppt_第2页
专题二 异常处理和程序调试.ppt_第3页
专题二 异常处理和程序调试.ppt_第4页
专题二 异常处理和程序调试.ppt_第5页
资源描述:

《专题二 异常处理和程序调试.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、专题二 程序调试与异常处理2本章目标熟练设置和使用断点熟练掌握中断模式下单步执行的方法熟练掌握中断模式下监视变量的方法熟练掌握应用try…catch进行异常处理熟练掌握用户自定义异常C#的异常类3常用异常类4异常类描述System.ArithmeticException算术运算时发生异常System.ArrayTypeMismatchException当存储一个数组时,被存储的元素与数组的实际类型不兼容而导致存储失败,引发此异常System.DivideByZeroException在试图用零除整数值时引发System.IndexOutOfRangeException在试图使用小于零

2、或超出数组界限的下标索引数组时引发System.FormatException当格式输入不正确时所引发此异常System.NullReferenceException在需要使用引用对象的场合,如果使用了null引用,引发此异常System.OutOfMemoryException在分配内存(通过new)的尝试失败时引发System.OverflowException在checked上下文中的算术运算溢出时引发System.ArgumentOutOfRangeException当参数值超出调用的方法所定义的允许取值范围时引发的异常。System.TypeInitializationEx

3、ception在静态构造函数引发异常并且没有可以捕捉到它的catch子句时引发8.2.2异常处理try-catch-finally语句有三种形式:try-catchtry-catch-finallytry-finally5catch块中包含的是出现异常时要执行的代码。一个try后面可以有零个以上的catch块。如果try语句中没有异常,则catch块中代码不会被执行。catch后面括号放入希望捕获的异常。当两个catch语句的异常类有派生关系的时候,要将包括派生的异常类catch语句放到前面,包括基类的catch语句放置到后面。6使用Try和Catch捕获异常staticvoidMa

4、in(string[]args){try{Console.Write("输入整数x:");intx=Convert.ToInt32(Console.ReadLine());Console.Write("输入整数y:");inty=Convert.ToInt32(Console.ReadLine());Console.WriteLine("x/y={0}",x/y);}catch(DivideByZeroExceptionzero){Console.WriteLine(zero.Message);}catch(FormatExceptionformat){Console.WriteLi

5、ne("输入的整数格式不正确");}catch(Exceptionex){Console.WriteLine(ex.Message);}Console.ReadLine();}7使用try和finally清除异常使用try和finally语句,可以清除异常。在执行时,若没有发生异常,try-finally语句将按正常方式执行,若在try块内有异常,则将在执行完finally块后抛出异常。finally语句块用于清除try块中分配的任何资源,以及运行任何即使在发生异常时也必须执行的代码。staticvoidMain(string[]args){inti=0;strings="somet

6、h";objecto=s;try{i=(int)o;}finally{Console.Write("i={0}",i);}Console.ReadLine();}使用try-catch-finally处理所有的异常执行的流程:执行try块内语句若没有异常,则正常执行操作,当程序执行完try块后,进入finally块中执行语句;或出现异常,程序中止try块的语句,进入catch块在catch块中进行异常处理,在catch块执行完成后,自动转到finally块执行执行完finally块,结束异常处理。不管是否发生异常,finally块都会执行其中的代码,且在异常处理结构中最多只能有一个f

7、inally块。staticvoidMain(string[]args){try{int[]a={1,3,4,5,6};intsum=0;for(inti=0;i<6;i++)sum+=a[i];Console.WriteLine("和为{0}",sum);}catch(ArgumentOutOfRangeExceptiona){Console.WriteLine(a.Message);}catch(Exceptionex){Console.WriteLi

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

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

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