乐文小说网

手机浏览器扫描二维码访问

第9部分(第1页)

main(Stringargs''){try{inta=args。length;system。out。println(”a

=”+a);intb=42a;procedure();}catch(arithmeticExceptione)

{System。out。println(”divby0:”+e);}}}

成员函数procedure里有自己的trycatch控制,所以main不用去处理ArrayIndexOutOfBoundsException。

8。7throw语句

throw语句用来明确地抛出一个”异常”。首先,你必须得到一个Throwable的实例的控制柄,通过参数传到catch子句,或者用new操作符来创建一个。下面是throw语句的通常形式。

throwThrowableInstance;

程序会在throw语句后立即终止,它后面的语句执行不到,然后在包含它的所有try块中从里向外寻找含有与其匹配的catch子句的try块。下面是一个含有throw语句的例子。

classThrowDemo{staticvoiddemoproc(){try{thrownewNullPointerException(”de3mo”);}catch(NullPointerExceptione){System。out。println(”caughtinsidedemoproc”);throwe;}}publicstaticvoidmain(Stringargs''){try{demoproc();}

catch(NullPointerExceptione){system。out。println(”recaught:”+e);}}}

8。8throws语句

throws用来标明一个成员函数可能抛出的各种”异常”。对大多数Exception子类来说,Java编译器会强迫你声明在一个成员函数中抛出的”异常”的类型。如果”异常”的类型是Error或RuntimeException,或它们的子类,这个规则不起作用,因为这?copy;在程序的正常部分中是不期待出现的。如果你想明确地抛出一个RuntimeException,你必须用throws语句来声明它的类型。这就重新定义了成员函数

的定义语法:typemethod…name(arg…list)throwsexception…list{}

下面是一段程序,它抛出了一个”异常”,但既没有捕捉它,也没有用throws来声明。这在编译时将不会通过。

classThrowsDemo1{staticvoidprocedure()'System。out。println(”inside

procedure”);thrownewIllegalAccessException(”demo”);}publicstatic

voidmain(Stringargs''){procedure();}}

为了让这个例子编译过去,我们需要声明成员函数procedure抛出了IllegalAccessException,并且在调用它的成员函数main里捕捉它。下面是正确的例子:

classThrowsDemo{staticvoidprocedure()throwsIllegalAccessException

{System。out。println(”insideprocedure”);thrownew

IllegalAccessException(”demo”);}publicstaticvoidmain(Stringargs'')

{try{procedure();}catch(IllegalAccessExceptione)

{System。out。println(”caught”+e);}}}

下面是输出结果:

C:》javaThrowsDemoinsideprocedurecaught

java。lang。IllegalAccessException:demo

8。9finally

当一个”异常”被抛出时,程序的执行就不再是线性的,跳过某?copy;行,甚至会由于没有与?reg;匹配的catch子句而过早地返回。有时确保一段代码不管发生什么”异常”都被执行到是必要的,关键词finally就是用来标识这样一段代码的。即使你没有catch子句,finally程序块也会在执行try程序块后的程序?reg;前执行。每个try语句都需要至少一个与?reg;相配的catch子句或finally子句。一个成员函数返回到调用它的成员函数,或者通过一个没捕捉到的”异常”,或者通过一个明确的return语句,finally子句总是恰好在成员函数返回前执行。下面是一个例子,它有几个成员函数,每个成员函数用不同的途径退出,但执行了finally子句。

classFinallyDemo{staticvoidprocA(){try

{System。out。println(”insideprocA”);thrownew

RuntimeException(”demo”);}finally{System。out。println(”procAs

finally”);}}staticvoidprocB(){try{System。out。println(”inside

东北谜踪  元宝传奇  黄帝内经实用手册  节妇的悠然生活  鬼夜  荒界实录  天空大陆    史上最拽的十个女人  穿越之正妻诱惑 02.25完结+1番外  娘亲V5父皇很欠抽  要说多少次,我不是人奸!  道君且慢  闲巫在都市  游神传说之界王  产生物  众语皆悲  洪荒老祖已无敌  上古卷轴天际之子  魅魔模拟器  

热门小说推荐
异界军队

异界军队

一个现代军人在异界的别样军旅人生。看他如何在动荡和战乱中,缔造属于军人的荣誉和骄傲在血腥和杀戮中,展现军人的冷酷和忠诚在寂寞和孤独中,演绎军人的铁骨和柔情。如果你心中曾有一个从军的梦,那么进来吧,我们一起出发,去追梦!VIP书友群53270415(需验证)本书繁体已经出版,台湾地区有售,书名蓝月风云,欢迎台湾地区读者购买。谢谢!...

网游之荒古时代

网游之荒古时代

在这里,你可以见到种种神秘的部族在这里,你可以挑战无数的荒古巨兽在这里,你可以去到深山大泽中探寻天材地宝在这里,只要你的实力足够强大,你甚至可以去挑战仙挑战神挑战祖灵,挑战你头顶的那一片天!这里,有着一切的可能!新书已经发布,天选者游戏,欢迎大家品鉴!小说关键词网游之荒古时代无弹窗网游之荒古时代txt全集下载网游之荒古时代最新章节阅读...

战国之赵氏春秋

战国之赵氏春秋

风萧萧兮易水寒,壮士一去兮不复还。战国一曲,是你方唱罢我登场!匆匆来过,匆匆而走,是留下点什么?还是,挥一挥衣袖不带走一片云彩?...

最权商

最权商

我最大的权力是我的财富我最大的财富是我的权力敬请看,双料博士重生为默默无闻的在校大学生,如何发迹,如何游走于众美之间,俘获美女芳心。又如何在官场商场如鱼得水,游刃有余地走一条权力和财富相辅相承的权商之路PS本书已A签,大家放心收藏,必定完本。...

独步天途

独步天途

浩渺大陆,奇珍长存,凶兽横行,武道成仙。有神山高耸万丈,有仙河九曲成弯,自古时以来大陆之上风云轮转,乱世动荡。少年张仲军,本应继承父亲爵位,却因天赋骤消,...

变身之把反派养歪了肿么破

变身之把反派养歪了肿么破

文风清奇一枝花,反派萌萌哒!世间总有真情在,穿越变妹真可爱!(ps如果本书均订破百,帅比作者就直播女装,节操神马的都不要了,读者老爷们求助攻!)...

每日热搜小说推荐