Java第五章异常处理

Java第五章异常处理

ID:39331201

大小:284.42 KB

页数:21页

时间:2019-07-01

Java第五章异常处理_第1页
Java第五章异常处理_第2页
Java第五章异常处理_第3页
Java第五章异常处理_第4页
Java第五章异常处理_第5页
资源描述:

《Java第五章异常处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java程序设计异常处理内容异常处理的基础知识异常对象的抛出异常对象的捕获异常的分类throw和throws自定义异常5.1为什么设计异常处理机制考虑如下读文件程序classReadFile{publicstaticvoidmain(Sstring[]args){打开文件;//可能失败确定文件大小;分配内存;读入文件;//可能失败关闭文件;//可能失败}}问题:未对失败进行处理改进:对失败进行处理仍然存在的缺点:模糊了问题求解的逻辑语言本身对程序员无约束层层处理的麻烦classReadFile{

2、publicstaticvoidmain(string[]args){打开文件;//可能失败if(失败)失败处理1确定文件大小;分配内存;读入文件;//可能失败if(失败)失败处理2关闭文件;//可能失败if(失败)失败处理3}}Java中对失败进行处理classReadFile{publicstaticvoidmain(string[]args){try{打开文件;//可能失败确定文件大小;分配内存;读入文件;//可能失败关闭文件;//可能失败}catch(打开文件失败){失败处理}catch

3、(读文件失败){失败处理}catch(关闭文件失败){失败处理}}}5.2异常对象的抛出抛出异常:当程序发生异常时,产生一个异常事件,Java系统自动产生一个异常对象,然后将这个对象传递给Java运行时系统,这个例外产生和提交的过程称为抛出(throw)异常;publicclassTry1{publicstaticvoidmain(Stringargs[]){inti=0;inta[]={5,6,7,8};for(i=0;i<=4;i++)System.out.println("a["+i+"]

4、="+a[i]);System.out.print(“thiswillnotbeoutputed");}}java.lang.ArrayIndexOutOfBoundsException:4atTry1.main(Try1.java:6)5.3异常对象的捕捉捕获异常:当Java运行时系统得到异常对象后,它将会寻找处理这一例外的代码,找到能处理这一异常的方法后,运行时系统把当前异常对象交给该方法进行处理,该过程称为捕获(catch)异常。5.3.1try,catch,finally语法格式try{

5、代码0(含抛出异常的方法调用)}catch(异常类1e){异常处理代码1}…catch(异常类ne){异常处理代码n}finally{必须执行的代码}后续代码1)执行[代码0];2)在执行[代码0]的过程中,若无异常类的对象抛出,则执行finally后[必须执行的代码],3)若有[异常类i]的对象抛出,则执行[异常处理代码i],并执行finally后[必须执行的代码].4)执行后续代码.5.3.2try,catch,finally示例(1)ExcDemo1.java运行结果注意:有可能产生异常的

6、代码放到try语句块中抛出异常后,try语句块中抛出异常的语句之后的代码不被执行,程序的执行流程转向到捕获到该异常的catch语句块中。异常产生之前数组下标越界在catch语句之后5.3.3try,catch,finally示例(2)若一个方法抛出异常,但在该方法内没有捕获异常,则该异常将沿此方法的调用路径反向向上传递,直到该异常被捕获,否则,该异常将传递给Java运行系统(Java运行系统将终止程序的执行,并打印错误提示)。示例:ExcDemo2.java示例:NotHandled.java待

7、捕获异常的类型须与抛出异常的类型相匹配,程序的执行流程不会转向到不匹配的catch语句块中。示例:ExcTypeMismatch.java5.4异常的分类Error:内存溢出,栈溢出等,程序无法捕捉,由系统处理。RuntimeException:设计不当造成的问题,本可避免的错误,如数组出界、除零错误等。这种异常java不强制要求捕捉。其他:程序无法预料由环境因素引发的异常,如文件没找到、输入输出错误、URL格式不正常等。Java要求捕捉。5.4.1常见异常—RuntimeExceptionAr

8、ithmeticException:算术除零异常NullPointerException:空指针异常ArrayIndexOutOfBoundsExceptionintk=12/0;inta[];System.out.println(a[0]);inta[]={5,6,7,8};for(i=0;i<5;i++){System.out.println("a["+i+"]="+a[i]);}Shapea;a.area();5.4.2常见异常—非RuntimeExceptionIOException:输

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

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

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