throw 和 throws 在 Java 中都与异常处理相关,但用途和用法不同。
throw(抛出异常对象)Throwable 或其子类实例)。public void checkAge(int age) {
if (age < 18) {
throw new IllegalArgumentException("年龄必须大于等于18");
}
}
throws(声明异常)public void readFile() throws IOException, FileNotFoundException {
// 方法体
}
| 对比点 | throw |
throws |
|---|---|---|
| 作用 | 抛出异常对象 | 声明异常类型 |
| 使用位置 | 方法体内 | 方法声明处 |
| 后面跟的内容 | 异常实例 | 异常类名 |
| 数量 | 一次只能抛一个异常 | 可以声明多个异常 |
| 异常处理 | 抛出异常后,要么被捕获,要么继续向上抛出 | 提醒调用者需要处理这些异常 |
throw:扔出一个异常(动作)。throws:声明可能扔出哪些异常(警告)。public void process() throws IOException {
if (error) {
throw new IOException("发生IO错误");
}
}
这里 throws 声明方法可能抛 IOException,而 throw 实际抛出该异常对象。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。