Java中throw和throws的区别

399 篇文章 12 订阅
46 篇文章 2 订阅

throw和throws的区别:

1、

throw代表动作,表示抛出一个异常的动作;
throws代表一种状态,代表方法可能有异常抛出

throw用在方法实现中,而throws用在方法声明中;
throw只能用于抛出一种异常,而throws可以抛出多个异常

2、

throw关键字用来在程序中明确的抛出异常,相反 throws语句用来表明方法不能处理的异常。
每一个方法都必须要指定哪些异常不能处理,所以方法的调用者才能够确保处理可能发生的异常,多个异常是用逗号分隔的。

3、

  • throw是在代码块内的,即在捕获方法内的异常并抛出时用的
  • throws是针对方法的,即将方法的异常信息抛出去
  • 可以理解为throw是主动(在方法内容里我们是主动捕获并throw的),而throws是被动(在方法上是没有捕获异常进行处理,直接throws的)

例子:

public void str2int(String str) throws Exception { //这里将得到的异常向外抛出
    try {
        System.out.println(Integer.parseInt(str));
    } catch(NumberFormatException e) {
        //TODO 这里可以做一些处理,处理完成后将异常报出,让外层可以得到异常信息
        throw new Exception("格式化异常");
    }
}

4、

throws用于方法头部,声bai明该方法会抛出du什么类型的异常;
throw用于方法体中,zhi抛出某种类型的异常。

5、

作用不同:throw用于在程序中抛出异常,throws用于声明在该方法内抛出了异常。
使用位置不同:throw位于方法体内部,可以作为单独语句是用,throws必须跟在方法参数列表后面,不能单独使用。
内容不同:throw抛出一个异常对象,而且只能是一个,throws后面跟异常类,可以有多个。

  • 12
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值