温馨提示×

温馨提示×

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

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

java Throws 抛出咋实现

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

在 Java 里,throws 和 throw 是两回事,很多人容易混:


一、throws(方法声明抛出异常)

作用:告诉调用者,这个方法可能会抛什么异常,自己不处理。

语法

返回值类型 方法名(参数) throws 异常类型1, 异常类型2 {
    // 方法体
}

示例

public class Demo {
    // 声明可能会抛出 IOException
    public static void readFile() throws java.io.IOException {
        throw new java.io.IOException("文件读取失败");
    }

    public static void main(String[] args) throws Exception {
        readFile(); // 继续往上抛
    }
}

✅ 特点:

  • 用在方法签名
  • 可以抛多个异常(用逗号分隔)
  • 调用者必须处理或继续 throws

二、throw(真正抛出异常对象)

作用:在代码里主动抛出一个异常。

语法

throw new 异常类(参数);

示例

public void checkAge(int age) {
    if (age < 18) {
        throw new IllegalArgumentException("年龄必须大于等于18");
    }
}

三、throws + throw 一起用(最常见)

public void login(String user) throws Exception {
    if (user == null) {
        throw new Exception("用户名不能为空");
    }
}

四、RuntimeException 的特殊情况

public void test() {
    throw new RuntimeException("运行时异常");
}

✅ 不需要 throws ✅ 调用者也不需要强制处理


五、简单对比表

关键字 位置 作用
throw 方法内部 真正抛出异常
throws 方法声明 声明可能抛出的异常

如果你愿意,我可以:

  • 用 真实业务例子(登录 / 文件 / 数据库)
  • 讲 checked vs unchecked 异常
  • 画 异常传递流程图

你现在是 初学 Java 还是 准备面试?

向AI问一下细节

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

AI
助
手