验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

throw和throws有何区别

阅读:504 来源:乙速云 作者:代码code

throw和throws有何区别

throwthrows 是 Java 中用于异常处理的两个关键字,它们的作用和使用场景不同。


一、throw(抛出异常对象)

作用:
用于在方法体内部手动抛出一个异常对象

特点:

  • 用在方法体内部
  • 抛出的是一个具体的异常实例
  • 执行到 throw 时,程序会立即中断当前流程

示例:

public void checkAge(int age) {
    if (age < 0) {
        throw new IllegalArgumentException("年龄不能为负数");
    }
}

说明:

  • throw 后面跟的是异常对象
  • 可以是运行时异常,也可以是受检异常

二、throws(声明抛出异常)

作用:
用于方法声明处,声明该方法可能抛出的异常类型,不负责处理。

特点:

  • 用在方法声明上
  • 表示“我不处理这个异常,交给调用者处理”
  • 可以声明多个异常,用逗号分隔

示例:

public void readFile() throws IOException {
    FileInputStream fis = new FileInputStream("test.txt");
}

说明:

  • throws 后面跟的是异常类名
  • 调用该方法时,必须处理或继续声明抛出

三、核心区别对比

对比项 throw throws
使用位置 方法体内部 方法声明处
作用 抛出一个异常对象 声明可能抛出的异常
后面跟的内容 异常对象 异常类名
是否中断程序
数量 一次只能抛一个 可声明多个异常

四、结合使用示例

public void test() throws Exception {
    if (true) {
        throw new Exception("发生错误");
    }
}

五、一句话总结

throw 是“真的抛异常”,throws 是“告诉别人我可能抛异常”。

如果你愿意,我也可以帮你对比 运行时异常 vs 受检异常,或者结合面试常问点来讲。

分享到:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
相关文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感兴趣
推荐阅读 更多>