Java2程序设计实用教程第2版课件第05章 异常处理.ppt

Java2程序设计实用教程第2版课件第05章 异常处理.ppt

ID:51617471

大小:279.00 KB

页数:21页

时间:2020-03-26

上传者:U-140596
Java2程序设计实用教程第2版课件第05章 异常处理.ppt_第1页
Java2程序设计实用教程第2版课件第05章 异常处理.ppt_第2页
Java2程序设计实用教程第2版课件第05章 异常处理.ppt_第3页
Java2程序设计实用教程第2版课件第05章 异常处理.ppt_第4页
Java2程序设计实用教程第2版课件第05章 异常处理.ppt_第5页
资源描述:

《Java2程序设计实用教程第2版课件第05章 异常处理.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

Java2程序设计实用教程第2版叶核亚 《Java2程序设计实用教程》(第2版)第1章Java概述第2章Java语言基础第3章面向对象的核心特性第4章接口、内部类和包第5章异常处理第6章图形用户界面第7章多线程第8章Applet应用程序第9章输入/输出流和文件操作第10章网络通信第11章数据库应用第12章JSP第13章综合应用设计 第5章异常处理5.1程序错误与处理5.2Java的异常处理《Java2程序设计实用教程(第2版)》 5.1程序错误与处理5.1.1程序错误、发现时刻及错误处理原则5.1.2面向过程与面向对象语言的错误处理方式比较5.1.3Java的错误和异常《Java2程序设计实用教程(第2版)》 5.1.1程序错误、发现时刻及错误处理原则语法错违反语法规范的错误称为语法错,在编译时发现。语义错在语义上存在错误,则称为语义错,运行时才能被发现。逻辑错系统无法发现逻辑错。《Java2程序设计实用教程(第2版)》 5.1.2面向过程与面向对象语言的错误处理方式比较面向过程语言错误处理方式的缺陷不进行范围检查采用if语句进行事先判断以防止出现错误。面向对象语言异常处理的思想异常处理机制的优越之处体现在以下两方面。从语法上看,异常处理语句将程序正常代码与错误处理代码分开,使程序结构清晰,算法重点突出,可读性强。从运行效果看,异常处理语句使程序具有处理错误的能力。《Java2程序设计实用教程(第2版)》 5.1.3Java的错误和异常Java语言是安全的Java语言提供严密的语法规则。Java在编译和运行时严格检查错误。Java提供异常处理机制。Java提供内存自动管理方式。错误与异常错误(error)指程序运行时遇到的硬件或操作系统的错误。异常(exception)指在硬件和操作系统正常时,程序遇到的运行错。《Java2程序设计实用教程(第2版)》 图5.1Java程序发现错误和异常《Java2程序设计实用教程(第2版)》 3.错误类和异常类Error错误类Exception异常类除数为0的算术异常、数组下标越界异常、空指针异常等。【例5.1】发现除数为0错。运行时能够发现整数除法中除数为0的语义错运行时不能发现浮点数除法中除数为0的语义错【例5.2】发现数组下标越界的语义错。《Java2程序设计实用教程(第2版)》 4.程序对错误与异常的三种处理方式程序不能处理错误程序应避免而不捕获的异常,如除数为0、数组下标越界等。必须捕获的异常《Java2程序设计实用教程(第2版)》 5.2Java的异常处理5.2.1异常类说明5.2.2异常处理语句5.2.3抛出异常5.2.4自定义异常类《Java2程序设计实用教程(第2版)》 5.2.1异常类说明Exception异常类publicclassThrowableimplementsSerializable{publicThrowable()publicThrowable(Stringmessage)publicStringgetMessage()//获得异常信息publicStringtoString()//获得异常对象的描述信息publicvoidprintStackTrace()//显示异常栈跟踪信息}publicclassExceptionextendsThrowable{publicException()publicException(Strings)}《Java2程序设计实用教程(第2版)》 2.RuntimeException运行异常类算术异常ArithmeticException:除数为0空对象异常NullPointerExceptioninta[]=null;a[0]=1;//对空数组中的元素进行操作,产生空对象异常Stringstr=null;System.out.println(str.length());//调用空对象的方法,产生空对象异常类型强制转换异常ClassCastExceptionObjectobj=newObject();Stringstr=(String)obj;《Java2程序设计实用教程(第2版)》 2.RuntimeException运行异常类负数组长度异常NegativeArraySizeExceptioninta[]=newint[-1];//产生负数组长度异常数组下标越界异常ArrayIndexOutOfBoundsExceptioninta[]=newint[1];a[1]=1;//产生数组下标越界异常数值格式异常NumberFormatExceptionintj=Integer.parseInt("abc");//产生数值格式异常《Java2程序设计实用教程(第2版)》 5.2.2异常处理语句异常处理语句语法try{语句1//存在潜在异常的代码}catch(异常类异常对象){语句2//捕获到异常并进行处理的代码}finally{语句3//最后必须执行的代码,无论是否捕获到异常}【例5.3】异常的捕获和处理。《Java2程序设计实用教程(第2版)》 图5.4异常处理语句的执行流程《Java2程序设计实用教程(第2版)》 【例5.4】求数组元素的平均值。average()方法中采用if语句对可能出现的运行时错误进行事先处理tointArray()方法采用异常处理语句对产生的运行时错误进行事后处理采用命令行参数作为输入值《Java2程序设计实用教程(第2版)》 5.2.3抛出异常抛出自定义异常对象的throw语句throw异常对象publicvoidset(intage){if(age>0&&age<100)this.age=age;elsethrownewException("IllegalAgeData");//抛出异常}【例5.5】抛出自定义异常对象。《Java2程序设计实用教程(第2版)》 2.方法声明抛出异常的throws子句[修饰符]返回值类型方法([参数列表])[throws异常类]publicstaticintparseInt(Strings)throwsNumberFormatException【例5.6】声明抛出异常的方法与方法调用者处理异常。构造方法和重载的set()方法声明抛出异常。main()方法声明抛出异常交由系统处理。《Java2程序设计实用教程(第2版)》 5.2.4自定义异常类【例5.7】自定义异常类。publicclassIllegalAgeExceptionextendsException//无效年龄异常类{publicIllegalAgeException(Strings)publicIllegalAgeException()}//捕获自定义异常类,而非Exception类catch(IllegalAgeExceptione){e.printStackTrace();//显示异常栈跟踪信息}《Java2程序设计实用教程(第2版)》 实验5异常的抛出、捕获并处理为例3.3的Date2类定义一个异常类,当set()方法的3个整型参数不能构成一个合法日期值时,抛出异常;Date2类中的其他方法将捕获并处理该异常。《Java2程序设计实用教程(第2版)》

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

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

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