throw 和 throws 是 Java 中用于异常处理的两个关键字,它们的作用和使用场景不同。
作用:
用于在方法体内部手动抛出一个异常对象。
特点:
throw 时,程序会立即中断当前流程示例:
public void checkAge(int age) {
if (age < 0) {
throw new IllegalArgumentException("年龄不能为负数");
}
}
说明:
throw 后面跟的是异常对象作用:
用于方法声明处,声明该方法可能抛出的异常类型,不负责处理。
特点:
示例:
public void readFile() throws IOException {
FileInputStream fis = new FileInputStream("test.txt");
}
说明:
throws 后面跟的是异常类名| 对比项 | throw | throws |
|---|---|---|
| 使用位置 | 方法体内部 | 方法声明处 |
| 作用 | 抛出一个异常对象 | 声明可能抛出的异常 |
| 后面跟的内容 | 异常对象 | 异常类名 |
| 是否中断程序 | 是 | 否 |
| 数量 | 一次只能抛一个 | 可声明多个异常 |
public void test() throws Exception {
if (true) {
throw new Exception("发生错误");
}
}
throw 是“真的抛异常”,throws 是“告诉别人我可能抛异常”。
如果你愿意,我也可以帮你对比 运行时异常 vs 受检异常,或者结合面试常问点来讲。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。