会员书架
首页 > 游戏竞技 > java语言入门ppt > 第9部分

第9部分(第1/3 页)

目录
最新游戏竞技小说: 从学霸开始迈向星辰大海大唐贵婿模板奥尼尔,美女都是我的充电宝王者:是个英雄就超标,别太离谱世界杯:我把C罗喂吐了末日:我真不是土匪无止的界限开局暴力林丹体验卡,我无敌了源启:终尽足坛怪咖网游之神偷盗贼斗罗:当千仞雪不恋爱脑后全民:领主大人别冲动网游:开局觉醒本源天赋活下去寻找生命的意义全息游戏:在游戏里当小地主全职高手之最强散人网游:开局觉醒无限技能点十级战力才破亿,请问我还有救吗高颜值狗命专家

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

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

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

成员函数procedure里有自己的try/catch控制,所以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

目录
公主与狂犬1983小海岛,从养殖大户开始柯学恋爱讯号你别输不起名门千金:重生枭妻至上薄先生请指教
返回顶部