第12讲 Java异常.ppt

第12讲 Java异常.ppt

ID:48243519

大小:176.00 KB

页数:35页

时间:2020-01-18

第12讲   Java异常.ppt_第1页
第12讲   Java异常.ppt_第2页
第12讲   Java异常.ppt_第3页
第12讲   Java异常.ppt_第4页
第12讲   Java异常.ppt_第5页
资源描述:

《第12讲 Java异常.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、异常异常Java异常的概念和处理机制捕获异常Java异常的分类已检查异常的处理抛出异常自定义异常8/8/20212异常异常示例(ExTest)lisabilykessyExceptioninthread"main"java.lang.ArrayIndexOutOfBoundsException:3atorg.broadengate.teach.j2se.exception.ExTest.main(ExTest.java:7)8/8/20213异常异常示例(ExTest)publicclassExTest{publicstaticvoidmain(Str

2、ing[]args){Stringfriends[]={"lisa","bily","kessy"};for(inti=0;i<5;i++){System.out.println(friends[i]);}System.out.println("thisistheend");}}8/8/20214异常异常异常是在程序运行过程中发生的异常事件,比如除0溢出、数组越界、文件找不到等,这些事件的发生将阻止程序的正常运行。为了加强程序的鲁棒性,程序设计时,必须考虑到可能发生的异常事件并做出相应的处理。什么是异常正常情况之外的一种“异常”。在问题发生的时候,

3、我们可能不知具体该如何解决,但肯定知道已不能不顾一切地继续下去。此时,必须坚决地停下来,并由某人、某地指出发生了什么事情,以及该采取何种对策。由于要强制捕获很多异常,开发者很难忽略他们的异常处理代码。这些异常就是我们常说的已检查异常(checkedexceptions)8/8/20215异常Java异常处理机制Java通过面向对象的方法来处理异常。Java程序的执行过程中如出现异常,会自动生成一个异常类对象,该异常对象将被提交给Java运行时系统,这个过程称为抛出(throw)异常。运行时系统在方法的调用栈中查找,从生成例外的方法开始进行回朔,直到找到

4、包含相应例外处理的方法为止,这一个过程称为捕获(catch)一个例外。如果Java运行时系统找不到可以捕获异常的方法,则运行时系统将终止,相应的Java程序也将退出。8/8/20216异常捕获异常(例:ExCatchTest)publicstaticvoidmain(String[]args){Stringfriends[]={"lisa","bily","kessy"};try{for(inti=0;i<5;i++){System.out.println(friends[i]);}}catch(java.lang.ArrayIndexOutOfBou

5、ndsExceptione){System.out.println("indexerr");}System.out.println("thisistheend");}8/8/20217异常捕获异常捕获异常是通过try-catch-finally语句实现的。try{......//可能产生违例的代码}catch(ExceptionName1e){......//当产生ExceptionName1型违例时的处置措施}catch(ExceptionName2e){......//当产生ExceptionName2型违例时的处置措施}[finally{..

6、....//无条件执行的语句}]8/8/20218异常捕获异常try捕获违例的第一步是用try{…}语句块选定捕获违例的范围。若位于一个方法内部,并“掷”出一个异常(或在这个方法内部调用的另一个方法产生了异常),那个方法就会在异常产生过程中退出。若不想离开方法,可在那个方法内部设置一个特殊的代码块,用它捕获异常。这就叫作“try块”,因为要在这个地方“尝试”各种方法调用。try块属于一种普通的作用域,用一个try关键字开头:try{//可能产生违例的代码}catch在catch语句块中是对违例对象进行处理的代码,每个try语句块可以伴随一个或多个cat

7、ch语句,用于处理可能产生的不同类型的违例对象。可能有许多catch块,每一个都处理不同的异常。 捕获例外的顺序和catch语句的顺序有关,当捕获到一个例外时,剩下的catch语句就不再进行匹配。因此,在安排catch语句的顺序时,首先应该捕获最特殊的例外,然后再逐渐一般化。也就是一般先安排子类,再安排父类。生成的异常必须在某个地方中止。这个“地方”便是异常控制器或者异常控制模块。而且针对想捕获的每种异常类型,都必须有一个相应的异常控制器。异常控制器紧接在try块后面,且用catch(捕获)关键字标记8/8/20219异常捕获所有违例捕获所有违例cat

8、ch(Exceptione){ …… }这段代码能捕获任何异常,所以在实际使用时最好将其置于控

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

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

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