手机浏览器扫描二维码访问
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
侠 鬼夜 魅魔模拟器 要说多少次,我不是人奸! 东北谜踪 产生物 史上最拽的十个女人 天空大陆 节妇的悠然生活 荒界实录 道君且慢 娘亲V5父皇很欠抽 洪荒老祖已无敌 黄帝内经实用手册 闲巫在都市 穿越之正妻诱惑 02.25完结+1番外 元宝传奇 众语皆悲 游神传说之界王 上古卷轴天际之子
他是一个来自未来的灵魂,重生在了一名刚刚走出大学校门的技术员身上,凭借着超前的知识和丰富的经验在前进的路途中如鱼得水,将一个又一个的对手玩弄于股掌之间,他...
清穿不都是给四四的后院准备的吗?为什么她这么悲催,进了八爷的后院啊?八爷不是很温文儒雅的吗?怎么口味这么重呢?乌那希最害怕的还是嫡福晋郭络罗氏啊!为了保命,多生孩子,并且还得养大养好。要不是有空间,她还真想直接死掉,重新投胎算了。...
主角穿到乾德元年的立国不久的宋朝,此时宋朝正在统一中原,但赵匡胤有惩五代之乱,收拢兵权,重文轻武,这造成宋朝以后重内虚外的悲情的局面。而此时赵匡义羽翼渐丰,宋朝内部危机悄然扩大。这是最好的时光,也是最坏的时光,主角在这种大势下渐渐成长茁壮。宋九的两句名言宁肯撑着死,不愿饿汉活。穷了只能自顾自,顾不了别人,富了午夜梦回里说不定会想想其他人,不是俺说的,是孟子教我的。(这是老午的第三本北宋架空小说,质量保证,信誉保证,尽管放心收藏)...
当墓地里流浪的大傻再次睁开眸子的时候,一切的一切终将从此改变。...
风泫灵俊美的千年老僵尸,居然恋上了一个凡人。一天,风泫灵清澈的眸子深深凝视着她小狐,说你爱本王!冉小狐嘴角不停的抽搐两下,见惯了这个男子腹黑冷漠的一面,突然如此温柔真不习惯。我我没这爱好,我不喜欢僵尸!冉小狐说完就后悔了,因她看到身上的那个男子眸子闪过一丝戾气,就在她闭上眼睛不断祈祷的时候,他却微微一笑。僵尸有什么不好?你看本王俊美又多金,不仅可以带你飞,还可以带你打怪兽,无聊的时候还可以玩玩本王的獠牙...
星际历3016年,绿色文学网上出现了一个奇怪的作者,他酷爱地球古文化,总是写一些与读者三观有悖的小说,读者有心讨伐,力求他能自觉地笔名自杀。作者表示请看我的笔名读者猛地一抬头皿忽然就不想批评了怎么办?排雷注意1有金手指2涉及机甲和星际战争,不过以作者的智商无法进行高大上的描写,所以它们只能打酱油。3无虐无高潮,平淡如水温馨如糖,偶尔泼个狗血醒神是作者常干的事情4本文主受,无反攻5慢热型,无论是感情还是主角成名的速度推荐基友的一篇综剑三的文琴始皇喜欢作者的文就戳进来约一下呗公告接到编辑通知,本文周五(11月27日)入V,入V当天有惊喜希望大家继续支持月月!本文晋江独家连载,请之前转载的各位立即删除最后是月月的微博,求包养o≧▽≦ツ...