Throws和Throw的区别?

在初学Java异常时,总是被throws和throw搞晕,今天来理一下它们之间的关系。

1、throws 

方法名后面跟上 throws Exception 证明这个方法里的语句可能会发生异常,注意是可能!在别处如果调用这个方法时,就必须也抛出异常或者用try catch 处理。 throws是可以单独使用的。比如下面的例子,2个方法里我们只用了throws。

public class Test {
    public static void main(String[] args) throws Exception {
        Test test = new Test();
        /***  调用的方法里抛出了异常,依然要调用的2种方式
         * 1、抛出异常
         * 2、用try catch 代码块包住  test.compute()
         */
        test.compute();
       
    }

    public void compute() throws  Exception{
        System.out.println("我可能发生异常");
        System.out.println("3/0的值为" +3/0);
    }
}

 2、 throw

如果程序执行到 throw 一个Exception ,代表异常已经发生了!那么throw后面的语句就不会再执行了。 例子如下:

我们在compute方法的第一句就抛出了一个自定义的异常。注意此时是通过不了编译的。这也说明了throw不能单独使用,我们这里可以选择用try catch 包住  “throw new DefineException("我发生了异常!"); 。就可以编译了。这是情况1:throw 和 try catch 搭配使用。

情况2 : 既然程序执行到这里,发生了异常,那就说明这个方法是可能发生异常的,我们就要把这个可能发生的异常抛出。

这是throw和throws搭配使用。

总结:throws可以单独使用,throw不可以,必须搭配try catch,或者throws,若程序执行到throw exception 语句,则后面的语句不会再执行。

 

 

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值