throw和throws的区别 throws throws-throws简介,throws-与throw对比

在java中,有很多时候会因为自己的不小心,写的程序会有一些异常出现,但是,我们自己可能难以发现其中的问题。于是就出现了异常处理。平常我们会用try catch finally来处理异常,但是,有时候,我们可能想把这个异常交给调用它的程序处理,那么,在这个时候,我们就会用到throws把异常情况抛给调用它的程序去处理这个程序出现的异常情况。

throws_throws -throws简介

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

throws_throws -与throw对比

throw和throws的区别 throws throws-throws简介,throws-与throw对比

关键字:throwthrow是一种控制程序流程的特殊方法而已。没有相应的catch的话,可以中止当前的方法继续执行。
关键字:throws声明方法时候,如果不声明throws的话,那么一般的Exception都要在这个方法中终结,也就是说一定要有相应的catch处理,否则编译时会产生错误。如果方法声明了throws的话,可以交给上一级方法去处理。以此类推。但是有些Exception可以不加捕捉,编译也会通过。继承Exception类,可以自己定义Exception,对于特定的状态,用throw抛出专用的例外。这对于特定的middleware开发,有一定帮助。

throws用于声明,它并不是一个可以执行的语句。throws放在方法声明的后面部分,用来说明这个方法可能会抛出什么异常,

staticvoidthrowOne()throwsIllegalAccessException

这个声明告诉调用者,方法throwOne可能会抛出IllegalAccessException异常。

格式是:方法声明throws异常类1,异常类2,...

而throw则是一个动作,执行throw语句的时候会抛出一个异常。

关键字:try、catch用个形象的比喻,如果说throws相当于职业介绍中介的话,那try和catch就是一对倒霉的打工仔。很有意思,throws只是告诉编译器--方法可能产生的异常问题,然后把问题处理抛给try和catch。他们一个负责发现异常关系,一个负责异常捕获。很辛苦的一对难兄难弟哦,:)

throws_throws -程序实例

classThrowsDemo{

staticvoidthrowOne(){

System.out.println("InsidethrowOne.");

thrownewIllegalAccessException("demo");

}

publicstaticvoidmain(Stringargs[]){

throwOne();

}

}

为编译该程序,需要改变两个地方。第一,需要声明throwOne()引发IllegalAccessException异常。第二,main()必须定义一个try/catch语句来捕获该异常。
正确的例子如下:

classThrowsDemo{

staticvoidthrowOne()throwsIllegalAccessException{

System.out.println("InsidethrowOne.");

thrownewIllegalAccessException("demo");

}

publicstaticvoidmain(Stringargs[]){

try{

throwOne();

}catch(IllegalAccessExceptione){

System.out.println("Caught"+e);

}

}

}
下面是例题的输出结果:

insidethrowOne

caughtjava.lang.IllegalAccessException:demo


  

爱华网本文地址 » http://www.aihuau.com/a/8104080103/172778.html

更多阅读

ipad2与ipad4的区别 ipad2与ipad4的价格

ipad2与ipad4的区别——简介苹果产品已经与人们的生活非常近了。什么都是苹果的产品,手机 电脑。那么大家知道ipad2 和ipad4的差别吗?下面说说几点,希望能够帮到大家。ipad2与ipad4的区别——方法/步骤

有关哈士奇和阿拉斯加雪橇犬的区别 阿拉斯加与哈士奇区别

上次的博文说了一下哈士奇和阿拉斯加雪橇犬与狼的区别,但是我发现很多人用阿拉斯加雪橇犬的照片下文说的确是哈士奇的事情。两种狗虽然很像,但是性格还是有一点差别,饲养的方法也不一样。因此这里给大家详细说一下区别。哈士奇全名叫西

分公司和子公司的区别 母公司与分公司关系

分公司和子公司的区别一、分公司和子公司的概念 (一)分公司分公司与总公司的关系虽然同子公司与母公司的关系有些类似。但分公司的法律地位与子公司完全不同,它没有独立的法律地位。分公司是总公司下属的直接从事业务经营活动的分支

铺垫、伏笔、衬托、对比的区别 衬托与对比的区别

铺垫,层层递进,一点一点、一步一步达到目的。伏笔,预作交待或暗示,以求前后呼应。从形式来看,铺垫,语句较多,没有隐含性;伏笔语句不多,有隐含性;从运用上看,铺垫一般是紧接着,伏笔与照应有一段距离;从作用上看,铺垫是写作方法上的技巧,伏笔主要是谋

渲染、烘托、衬托、对比的区别 衬托与对比的区别

一、定义的区分1、渲染是指对环境,景物等做多方面的正面描写形容,以突出形象,营造意境。赵师秀《约客》诗云:“黄梅时节家家雨,青草池塘处处蛙。有约不来过夜半,闲敲棋子落灯花。”其中以“家家雨”“处处蛙”渲染一种气氛,衬托夜的深和

声明:《throw和throws的区别 throws throws-throws简介,throws-与throw对比》为网友懶浪亽分享!如侵犯到您的合法权益请联系我们删除