乘除运算-异常处理.ppt
《乘除运算-异常处理.ppt》由会员分享,可在线阅读,更多相关《乘除运算-异常处理.ppt(21页珍藏版)》请在三一办公上搜索。
1、第6章 乘除运算异常处理,能力目标:1.学会使用try、catch和finally语句处理异常。2.学会使用throw从方法中抛出异常。3.学会使用checked和unchecked控制整数溢出检查。4.能运用异常处理机制编写整数、实数除法运算及乘法溢出检查应用程序。,内容介绍,6.1 项目预览6.2 异常运行时出错6.3 异常种类与层次结构6.4 异常处理代码块try-catch等6.5 使用throw语句抛出异常6.6 自定义异常类6.7 启用或禁用整数运算溢出检查checked/unchecked6.8 本章小结6.9 项目实训6:带异常处理的乘除运算,6.1 项目预览,带异常处理的整数
2、除法、抛出除数为0异常的实数除法、整数乘法溢出检查WPF应用程序项目,运行界面:,6.2 异常运行时出错,程序没有语法错误,运行时也会出现异常(Exception)。先看一个没有异常处理的整数除零例子。【例6-1】建立控制台应用程序项目,编写整数除零代码:int x,y,z;x=2;y=0;z=x/y;Console.WriteLine(整数除以0,得:+z);,【例6-2】改进例6-1,在代码中加入异常处理代码块try-catch。,try int x,y,z;x=2;y=0;z=x/y;Console.WriteLine(整数除以0,得:+z);catch(Exception ex)Con
3、sole.WriteLine(异常:+ex.Message);,6.3 异常种类与层次结构,每引发一个异常,系统就创建一个异常类的对象。异常类有多种,例如:系统预定义异常:DivideByZeroExceptionArithmeticExceptionOverflowException 等等。还可在应用程序中按需要自定义异常类。异常的祖先类(基类)是 Exception,Exception类有一个重要的Message属性(当然其他异常类也有该属性),用来提供有关异常起因的详细信息。,异常种类与层次结构,Exception直接派生出两个子类:(1)SystemException类。系统预定义的(
4、公共语言运行库)异常基类。(2)ApplicationException类。该类的作用不大。部分异常类的层次结构:DivideByZeroException ArithmeticException SystemException ExceptionOverflowException ArithmeticException SystemException ExceptionFileFormatException FormatException SystemException ExceptionFileNotFoundException IOException SystemException Ex
5、ception,6.4 异常处理代码块try-catch等,编写了异常处理块,发生异常时,控制流跳转到相关处进行处理,并按预定步骤正常运行下去。否则,程序会一触即溃。程序的健壮性与异常处理的密切相关。异常处理代码块的格式有5种:(1)带参数的try-catch try 可能发生异常代码 catch(异常类 参数)异常处理代码,异常处理代码块的格式,(2)不带参数的try-catch try 可能发生异常代码 catch 异常处理代码(3)不同异常作不同处理的try-catch-catch.try 可能发生异常代码 catch(异常类1 参数)异常处理代码1 catch(异常类2 参数)异常处理
6、代码2.catch(异常类n 参数)异常处理代码n catch子块的排列顺序很重要,通常,最后一个catch子块总是捕获最顶层异常 Exception。,【例6-3】建立控制台应用程序项目,编写整数除法运算代码,对不同类型异常作不同处理。,try int x,y,z;Console.Write(请输入整数的被除数:);x=int.Parse(Console.ReadLine();Console.Write(请输入整数的除数:);y=int.Parse(Console.ReadLine();z=x/y;Console.WriteLine(整除结果:+z);catch(FormatExceptio
7、n fEx)Console.WriteLine(格式异常:+fEx.Message);catch(DivideByZeroException dEx)Console.WriteLine(除数为零异常:+dEx.Message);catch(OverflowException oEx)Console.WriteLine(溢出异常:+oEx.Message);catch(Exception ex)Console.WriteLine(异常:+ex.Message);,异常处理代码块的格式,(4)不处理异常的try-finally try 可能发生异常代码 finally 最终代码(5)完整的异常处理
8、块try-catch-finally try 可能发生异常代码 catch(异常类1 参数)异常处理代码1 catch(异常类2 参数)异常处理代码2.catch(异常类n 参数)异常处理代码n finally 最终代码,【例6-4】在例6-3代码后面,增加finally子代码块,使之形成try-catch-finally结构,finally Console.WriteLine(程序结束!);每次运行,不管是否发生异常,都执行finally子块语句:,6.5 使用throw语句抛出异常,除了系统自动引发,还可在应用程序中主动抛出异常:throw new 异常类构造函数名(参数列表);【例6-5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 乘除 运算 异常 处理

链接地址:https://www.31ppt.com/p-6238864.html