欢迎来到天天文库
浏览记录
ID:6075290
大小:114.50 KB
页数:22页
时间:2018-01-02
《java异常处理机制》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、JAVA异常处理机制1 引子try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要往后看答案、也不许执行代码看真正答案哦。如果你的答案是正确,那么这篇文章你就不用浪费时间看啦。packagemyExample.testException; publicclassTestException{ publicTestException(){} booleante
2、stEx()throwsException{booleanret=true;try{ret=testEx1();}catch(Exceptione){System.out.println("testEx,catchexception");ret=false;throwe;}finally{System.out.println("testEx,finally;returnvalue="+ret);returnret;}} booleantestEx1()throwsException{booleanret=true;try{ret=testEx2();if(!ret
3、){returnfalse;}System.out.println("testEx1,attheendoftry");returnret;}catch(Exceptione){System.out.println("testEx1,catchexception");ret=false;throwe;}finally{System.out.println("testEx1,finally;returnvalue="+ret);returnret;}} booleantestEx2()throwsException{booleanret=true;try{intb=1
4、2;intc;for(inti=2;i>=-2;i--){c=b/i;System.out.println("i="+i);}returntrue;}catch(Exceptione){System.out.println("testEx2,catchexception");ret=false;throwe;}finally{System.out.println("testEx2,finally;returnvalue="+ret);returnret;}} publicstaticvoidmain(String[]args){TestExceptiontestE
5、xception1=newTestException();try{testException1.testEx();}catch(Exceptione){e.printStackTrace();}}} 你的答案是什么?是下面的答案吗?i=2i=1testEx2,catchexceptiontestEx2,finally;returnvalue=falsetestEx1,catchexceptiontestEx1,finally;returnvalue=falsetestEx,catchexceptiontestEx,finally;returnvalue=false
6、如果你的答案真的如上面所说,那么你错啦。^_^,那就建议你仔细看一看这篇文章或者拿上面的代码按各种不同的情况修改、执行、测试,你会发现有很多事情不是原来想象中的那么简单的。现在公布正确答案:i=2i=1testEx2,catchexceptiontestEx2,finally;returnvalue=falsetestEx1,finally;returnvalue=falsetestEx,finally;returnvalue=false2 基础知识2.1 相关概念例外是在程序运行过程中发生的异常事件,比如除0溢出、数组越界、文件找不
7、到等,这些事件的发生将阻止程序的正常运行。为了加强程序的鲁棒性,程序设计时,必须考虑到可能发生的异常事件并做出相应的处理。C语言中,通过使用if语句来判断是否出现了例外,同时,调用函数通过被调用函数的返回值感知在被调用函数中产生的例外事件并进行处理。全程变量ErroNo常常用来反映一个异常事件的类型。但是,这种错误处理机制会导致不少问题。Java通过面向对象的方法来处理例外。在一个方法的运行过程中,如果发生了例外,则这个方法生成代表该例外的一个对象,并把它交给运行时系统,运行时系统寻找相应的代码来处理这一例外。我们把生成例外对象并把它提交给运行时系统的过程称为抛弃
8、(thro
此文档下载收益归作者所有