在 Java 中,**throws(抛出)**通常有两种相关但不同的含义,容易混淆:
throws(方法声明抛出的异常)throws 是 方法签名的一部分,用来声明这个方法可能会抛出哪些异常,告诉调用者“这里可能会出事,你需要处理”。
public void readFile() throws IOException {
FileInputStream fis = new FileInputStream("test.txt");
}
try-catch 捕获throws 往上抛throws 声明或 try-catchvoid a() throws IOException {
b();
}
void b() throws IOException {
// 可能抛 IOException
}
throw(真正“抛出”异常对象)throw 是真正抛出异常的动作。
public void checkAge(int age) {
if (age < 18) {
throw new RuntimeException("年龄不足");
}
}
| 关键字 | 用途 |
|---|---|
throw |
抛出异常对象(真正发生) |
throws |
声明方法可能抛出的异常类型 |
如果你愿意,我也可以给你画一个调用链示例或讲Checked / Unchecked 异常区别。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。