温馨提示×

温馨提示×

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

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

java Throws 抛出怎样学

发布时间:2026-10-07 00:34:19 来源:亿速云 阅读:89 作者:小樊 栏目:编程语言

在 Java 里,“throws 抛出”通常指的是在方法声明中使用 throws 关键字声明异常,以及使用 throw 关键字手动抛出异常。这是 Java 异常处理中非常重要的一部分。下面从概念 → 用法 → 学习路径 → 常见坑一步步讲,适合初学者系统学习。


一、先分清楚两个容易混的概念

1️⃣ throw(手动抛异常)

throw new Exception("出错了");
  • 用在方法内部
  • 表示“这里出问题了,我主动抛出一个异常”

2️⃣ throws(声明可能抛异常)

public void test() throws IOException {
}
  • 用在方法声明处
  • 表示“这个方法可能会抛异常,调用者要处理”

✅ 一句话记忆:

throw 是“抛动作”,throws 是“提前说一声”


二、基础用法(必须掌握)

1️⃣ throw 示例

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

2️⃣ throws 示例

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

3️⃣ 调用者怎么处理?

public static void main(String[] args) {
    try {
        readFile();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

三、异常的分类(很关键)

Java 异常分为两大类:

✅ 检查异常(Checked Exception)

  • 编译器强制处理
  • 例如:IOException, SQLException
  • 必须用 try-catch 或 throws

✅ 运行时异常(RuntimeException)

  • 不强制处理
  • 例如:NullPointerException, IllegalArgumentException
  • 可以 throw,也可以不 throws

四、学习路径(按顺序学)

✅ 第一步:会用 try-catch

try {
    // 可能出错的代码
} catch (Exception e) {
    e.printStackTrace();
}

✅ 第二步:理解 throw

  • 什么时候该自己抛?
    • 参数不合法
    • 业务规则不满足

✅ 第三步:理解 throws

  • 什么时候用?
    • 自己不想处理
    • 让上层调用者决定怎么处理

✅ 第四步:自定义异常(进阶)

class BusinessException extends Exception {
    public BusinessException(String msg) {
        super(msg);
    }
}

五、常见错误(新手必看)

❌ 错误 1:throws 了但不处理也不继续抛

void a() throws IOException {
    b(); // b 抛 IOException,但没处理
}

❌ 错误 2:用 throws 代替 try-catch(滥用)

throws 不是“解决异常”,只是“转移责任”

❌ 错误 3:捕获了异常但什么都不做

catch (Exception e) {
    // 空 catch,很危险
}

六、实战建议(怎么学最快)

✅ 多写小例子
✅ 看 JDK 源码(如 InputStream.read())
✅ 写业务逻辑时,该抛就抛,该捕获就捕获
✅ 记住一句话:

底层抛,上层决;业务异常自己定


如果你愿意,我可以:

  • 给你 练习题
  • 讲 throw / throws 面试常问点
  • 用 真实项目例子讲怎么用

你想从哪一步继续?

向AI问一下细节

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

AI
助
手