Java面向对象程序设计 教学课件 ppt 作者 聂哲 电子教案 Java面向对象程序设计 教学课件 ppt 作者 聂哲 电子教案 第5章 包 异常与输入输出3.ppt

Java面向对象程序设计 教学课件 ppt 作者 聂哲 电子教案 Java面向对象程序设计 教学课件 ppt 作者 聂哲 电子教案 第5章 包 异常与输入输出3.ppt

ID:51617568

大小:174.50 KB

页数:15页

时间:2020-03-26

Java面向对象程序设计 教学课件 ppt 作者 聂哲 电子教案 Java面向对象程序设计 教学课件 ppt 作者 聂哲 电子教案 第5章 包 异常与输入输出3.ppt_第1页
Java面向对象程序设计 教学课件 ppt 作者 聂哲 电子教案 Java面向对象程序设计 教学课件 ppt 作者 聂哲 电子教案 第5章 包 异常与输入输出3.ppt_第2页
Java面向对象程序设计 教学课件 ppt 作者 聂哲 电子教案 Java面向对象程序设计 教学课件 ppt 作者 聂哲 电子教案 第5章 包 异常与输入输出3.ppt_第3页
Java面向对象程序设计 教学课件 ppt 作者 聂哲 电子教案 Java面向对象程序设计 教学课件 ppt 作者 聂哲 电子教案 第5章 包 异常与输入输出3.ppt_第4页
Java面向对象程序设计 教学课件 ppt 作者 聂哲 电子教案 Java面向对象程序设计 教学课件 ppt 作者 聂哲 电子教案 第5章 包 异常与输入输出3.ppt_第5页
资源描述:

《Java面向对象程序设计 教学课件 ppt 作者 聂哲 电子教案 Java面向对象程序设计 教学课件 ppt 作者 聂哲 电子教案 第5章 包 异常与输入输出3.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、包、异常与输入输出3Java异常(续)本单元教学内容Java异常的分类及异常类的层次结构自定义异常掌握throw关键字的用法异常分类Error异常Error异常:运行时间出现的系统内部的错误以及资源耗尽等情况。如:虚拟机内部发生错误、电源断电引起的异常中止等。特点:这类异常性质严重,本身难以控制,且恢复可能性极小,意义不大。Java不要求对这类异常进行必要的控制,编译期也不对这类异常进行检测。RuntimeException异常RuntimeException及其子类描述的异常,一般是由于编程错误引起的异常。如:错误的造型、数组越界存取、空指针

2、访问等。特点:完全可以通过改进程序加以克服,且数目很大。Java对这种异常的处理:编译时,不对这类异常进行检测;运行时,会自动在异常发生处生成相应的异常的对象,并由系统默认的异常处理器处理(通常输出错误信息及错误地点)。应用程序可以对其进行捕获处理(但不提倡)。运行环境引发的异常运行环境引发的异常。如:网络不通,文件找不到等。特点:只要运行环境正常,程序是可以正常运行的。Java要求对这类异常进行必要的控制。试一试classMyMath{publicintdevide(intx,inty)throwsArithmeticException{in

3、tresult=x/y;returnresult;}}classMyMathTest{publicstaticvoidmain(String[]args){MyMathmobj;mobj=newMyMath();intresult;result=mobj.devide(3,0);System.out.println("theresultis"+result);}}调用者没有对抛出的异常进行处理,编译能通过吗?将抛出的异常由Exception改为ArithmeticException检查和非检查型异常非检查型异常:编译期间编译器不对其进行检查的异

4、常,包括Error类和RuntimeException类及其子类。检查型异常:除非检查型异常以外的其它异常。编译时,编译器对方法进行分析,如方法中有产生这种异常的可能,那么方法中要么有异常的处理模块,要么必须在方法头部抛出异常,否则,不能通过编译。那么,Exception是检查型还是非检查型异常?ArithmeticException呢?自定义异常自定义异常也是一个类,如果我们要创建检查型的异常,我们可以继承Exception类;如果我们要创建非检查型的异常,我们可以继承RuntimeException类如何创建自定义异常打开MyMath.ja

5、va文件,假设我们在devide方法中不允许有负的除数,当接收到一个负的除数时,程序返回一个自定义的异常,通知调用者。首先创建一个异常类DevideByMinusExceptionclassDevideByMinusExceptionextendsException{//定义子类构造器方法publicDevideByMinusException(Stringmsg){super(msg);}}抛出自定义异常classMyMath{publicintdevide(intx,inty)throwsArithmeticException,Devide

6、ByMinusException{if(y<0)thrownewDevideByMinusException("除数为负数");intresult=x/y;returnresult;}}Java通过throw关键字抛出异常对象。注意throws和throw的区别声明devide方法将抛出两种类型的异常throw关键字用throw语句可以创建并抛出明确的异常语法形式:ThrownewxxException();如:try{if(flag<0){thrownewNullPointerException();}}……调用者需做的修改classMyMa

7、thTest{publicstaticvoidmain(String[]args){try{MyMathmobj;mobj=newMyMath();intresult;result=mobj.devide(3,0);//result=mobj.devide(3,-1);System.out.println("theresultis"+result);}catch(ArithmeticExceptione){System.out.println("程序发生ArithmeticException");}catch(DevideByMinusExce

8、ptione){System.out.println("程序发生DevideByMinusException");}catch(Exceptione)

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

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

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