温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java Throws 抛出怎么懂

发布时间:2026-10-27 16:03:01 来源:亿速云 阅读:92 作者:小樊 栏目:编程语言

在 Java 里,throws 和 throw 是两个很容易被搞混、但其实含义很清楚的概念。我们分开说,再总结“怎么懂”。


一、throw:真正“抛出异常”的动作

throw 是手动抛出一个异常对象。

throw new RuntimeException("出错了");

理解为:

“这里出问题了,我主动把这个异常扔出去”

特点:

  • 用在方法内部
  • 后面跟的是一个异常对象
  • 程序执行到 throw 就中断当前流程

示例:

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

二、throws:声明“我可能会抛什么异常”

throws 是方法签名上的声明,意思是:

“这个方法里可能会抛出这些异常,调用我的人要处理好”

public void readFile() throws IOException {
    // 可能抛 IOException
}

理解重点:

  • 用在方法声明处
  • 后面跟的是异常类型
  • 自己不处理,交给调用者处理

三、throw 和 throws 的关系(核心)

✅ throw:真正扔 ✅ throws:提前说我会扔

例子:

public void test() throws Exception {
    throw new Exception("手动异常");
}

意思是:

我这个方法可能会抛 Exception(throws),
这里我真的抛了(throw)


四、什么时候用 throws?

1️⃣ 检查异常(checked exception)

比如 IOException、SQLException

public void save() throws IOException {
    // 不 try-catch,直接 throws
}

2️⃣ 不想在当前方法处理

交给上层调用者决定怎么处理


五、常见误区

❌ throws 不会抛出异常
✅ 它只是“声明”

❌ throw 可以写多个
✅ 一次只能 throw 一个异常对象

❌ 运行时异常必须 throws
✅ RuntimeException 不用声明


六、一句话记忆法

throw 是“扔”
throws 是“说我会扔”

如果你愿意,我也可以用生活比喻 / 面试问答 / 代码对比图再帮你记一遍。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手