throw and throws

本文详细解析Java中throw和throws的区别与用法,包括它们在方法中的位置、使用方式及实例说明。

终于明白throw 和 throws 了

首先看下区别:

1、throws是在代码快中使用,throws是在方法块使用;

2、throws可以单独使用,跟在某个方法名后面,不做任何处理,throw必须配套使用要么和try-catch-finally,要么和throws,也就是说throw必须对他所抛出的异常有所反映。

实例说明:

实例一、

public void a() throws Exception1,Exception2 {

 

}

 

public void b() throws  Exception1,Exception2 ,Exception3 {

 a();//此处调用了a方法本应该处理了,但是采用消极处理办法,我继续向上抛异常,所以b的后面必须跟上a所包含的两个   //异常.同时b还有自己的异常

}

 

public void c() throws  Exception1,Exception2 ,Exception3 ,Exception4{

   b();//同理

}

public static void main(arg[] String) {

  //main()方法已经是最上层的了,不能再往上抛了。

 try{

  c()

 }catch(Exception1 e){处理代码}

  catch(Exception2 e){处理代码}

  catch(Exception3 e){处理代码}

  catch(Exception4 e){处理代码}

}

 

实例二、

public void a() throws SQLException {

 

  if(此处有sql异常出现)

     throw new SQLExcption();

}

 

public void b() throws Exception1,Exception3{

 

    try{

     //代码

    }catch(Exception1 e){throw e;}//因为抛出了Exception1,所以b方法要帮助往上传递

      catch(Exception2 e)({我们将他处理了}//b方法就不用再往上抛了

   if(a>b)

       throw new Exception3();//通过b方法往上抛

}

 

 

总结:

throw语句用在方法体内,表示抛出异常,由方法体内的语句处理 
throws语句用在方法声明后面,表示再抛出异常,由调用这个方法的上一级方法中的语句来处理

throws主要是声明这个方法会抛出这种类型的异常,使其他地方调用它时知道要捕获这个异常。
throw是具体向外抛异常的动作,所以它是抛出一个异常实例。

throws说明你有哪个可能,倾向 
throw的话,那就是你把那个倾向变成真实的了。

 

throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常; 

 

最后一句:

异常就像倒着滚雪球,往上越来越多,最后不能再往上了,就全部处理掉。

<!--EndFragment-->

<!--EndFragment--><!--EndFragment-->

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值