在 Java 里,throws 不是必须写的,取决于你抛出的异常类型。
throws如果你方法里 直接 throw 一个受检异常,或者调用了会抛受检异常的方法且没捕获,就 必须 在方法签名上写 throws。
public void readFile() throws IOException {
throw new IOException("error");
}
✅ 不写会 编译报错
IOExceptionSQLExceptionClassNotFoundExceptionException(非 RuntimeException)的异常throwspublic void test() {
throw new RuntimeException("error");
}
✅ 不用写 throws
try-catch 处理了异常public void test() {
try {
throw new IOException("error");
} catch (IOException e) {
e.printStackTrace();
}
}
✅ 不用写 throws
throws即使不是必须,也常写 throws 来:
public User getUser() throws UserNotFoundException {
...
}
只有“受检异常 + 没捕获”时才必须写
throws
如果你愿意,可以把你的代码示例发出来,我可以直接告诉你“要不要写”。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。