异常(Exception)处理

异常(Exception)处理

ID:37421978

大小:284.25 KB

页数:24页

时间:2019-05-12

异常(Exception)处理_第1页
异常(Exception)处理_第2页
异常(Exception)处理_第3页
异常(Exception)处理_第4页
异常(Exception)处理_第5页
资源描述:

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

1、第七章异常(Exception)处理异常运行期出现的错误代码publicclassHelloWorld{publicstaticvoidmain(Stringargs[]){inti=0;Stringgreetings[]={"Hello!","No","WORLD!"};while(i<4){System.out.println(greetings[i]);i++;}}}正常与异常正常与异常之比可达30%比70%打开文件文件不存在?文件打不开?读取文件没有足够可读内容?权限不允许读写文件磁盘满网络断线关闭文件异常机制简介在进行程序设计时,错误的产生

2、是不可避免的,如何处理错误?把错误交给谁去处理?程序又该如何从错误中恢复?这是任何程序设计语言都要解决的问题。所谓错误,是在程序运行过程中发生的异常事件,比如除0溢出、数组越界、文件找不到等,这些事件的发生将阻碍程序的正常运行。为了增加程序的强壮性,程序设计时,必须考虑到可能发生的异常情况并做出相应的处理。异常处理的优点把错误处理代码从常规代码中分离出来按错误类型和差别分组对无法预测的错误进行捕获和处理克服了传统方法的错误信息有限的问题把错误传播给调用堆栈系统预定义异常对象NullPointerExceptionThrowableExceptionE

3、rrorVirtualMachineErrorRuntimeExceptionArithmeticExceptionClassNotFoundExceptionFileNotFoundExceptionIOExceptionException类Exception定义了一些你的程序可能出现的轻度错误条件异常可能发生在:你试图打开的文件并不存在网络连接中断操作数处理的超出预描述的范围需要加载的文件丢失Error类定义了一些严重的错误条件Java的异常处理是通过5个关键字来实现的:try、catch、finally、throw、throws捕获异常catc

4、htryfinally执行可能产生异常的代码捕获异常无论是否发生异常,代码总能执行手动抛出异常抛出异常throw声明异常声明方法可能要抛出的各种异常throwstry,catch语句的使用try{//这里的代码可能抛出一个特别的异常}catch(MyExceptionTypee){如果MyExceptionType的异常被抛出,将执行这里的代码}catch(Exceptione){如果一个一般Exception被抛出时,将执行这里的代码}异常的执行流程正常顺序1,2,3,5异常顺序1,2,4,5try块外异常不理会try{123}catch(Exce

5、ptione){4}5异常发生处在try/catch块后加入finally块,可以确保无论是否发生异常,finally块中的代码总能被执行try块finally块catch块无异常有异常举例publicclassHelloWorld2{publicstaticvoidmain(Stringargs[]){inti=0;Stringgreetings[]={"Helloworld!","No,Imeanit!","HELLOWORLD!!"};while(i<4){try{System.out.println(greetings[i]);}catch(

6、ArrayIndexOutOfBoundsExceptione){System.out.println("Re-sttingIndexValue");}finally{System.out.println("Thisisalwaysprinted");}i++;}}}异常处理机制如果一个异常没有在当前的try、catch中被处理,它将被抛至方法的调用者处。如果异常被返回到main方法里,并且仍然没有被处理,程序将异常中止。练习编写一个类ExceptionTest1,在main方法中使用try、catch、finally:在try块中,编写被0除的代码

7、在catch块中,捕获被0除所产生的异常,并且处理异常在finally块中,打印一条语句多重catch块一段代码可能会引发多种类型的异常当引发异常时,会按顺序来查看每个catch语句,并执行第一个与异常类型匹配的catch语句执行其中的一条catch语句之后,其后的catch语句将被忽略抛出异常如果在当前环境无法解决一个异常,就要将其抛出,把异常交给调用者处理练习编写类ExceptionTest2:定义两个方法:go()和main()在go方法中声明要抛出异常,在该方法体内,抛出一个Exception对象在main()方法中,调用go方法,使用try

8、/catch捕获go方法中抛出的异常用户自定义异常对象系统预定义异常类代表了程序运行过程中可能产生的绝大多数

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

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

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