温馨提示×

温馨提示×

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

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

java Throws 抛出哪些类

发布时间:2026-10-07 01:22:17 来源:亿速云 阅读:84 作者:小樊 栏目:编程语言

在 Java 中,throws 关键字用于声明方法可能抛出的异常,它后面只能跟Throwable 类或其子类。

简单说:throws 能抛出的“类”必须继承自 java.lang.Throwable。


一、throws 能抛出的类体系

Throwable
├── Error
│   ├── OutOfMemoryError
│   ├── StackOverflowError
│   └── ...
├── Exception
│   ├── RuntimeException(非受检异常)
│   │   ├── NullPointerException
│   │   ├── IllegalArgumentException
│   │   └── ...
│   └── 其他 Exception(受检异常)
│       ├── IOException
│       ├── SQLException
│       └── ...

二、具体分类说明

1️⃣ 受检异常(Checked Exception)

必须显式声明在 throws 中(或 try-catch)

public void read() throws IOException {
}

常见类:

  • IOException
  • SQLException
  • ClassNotFoundException
  • InterruptedException

2️⃣ 非受检异常(Unchecked Exception)

可以不写 throws,但写了也合法

public void test() throws RuntimeException {
}

常见类:

  • RuntimeException
  • NullPointerException
  • IllegalArgumentException
  • IndexOutOfBoundsException

3️⃣ Error(一般不推荐 throws)

理论可以,但实际几乎不用

public void fatal() throws OutOfMemoryError {
}

常见类:

  • Error
  • OutOfMemoryError
  • StackOverflowError

⚠️ 注意:
Error 通常表示 JVM 级别问题,不应该被捕获或声明抛出。


三、常见错误 ❌

❌ 抛出非 Throwable 类型:

throws String   // 编译错误

❌ throws 普通类:

throws Object   // 编译错误

四、总结一句话 ✅

Java 中 throws 只能抛出 Throwable 及其子类,包括 Exception、RuntimeException 和 Error,但推荐使用受检异常。

如果你愿意,我也可以给你画一张异常体系脑图或结合面试问题讲。

向AI问一下细节

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

AI
助
手