【发布时间】:2016-11-22 19:30:23
【问题描述】:
public void throwTest() throws SQLException, IOException {
try{
} catch (SQLException e) {
}
}
为什么试图捕获一个不会发生的异常会产生编译错误,而我可以抛出任何异常,它不会产生错误?两者都可以在编译时检查,所以如果行为相同对我来说更有意义?
在给定的示例中,catch 块将生成编译时错误: 错误:在相应的 try 语句的主体中永远不会抛出异常 SQLException } 捕捉 (SQLException e) {
当我删除 catch 块时,代码编译得很好。这对我来说似乎不一致。 这种行为有什么特别的原因吗?
【问题讨论】:
-
问题不是关于编译错误,而是关于这种情况下 throws 和 catch 行为的区别,所以我相信这不是一个重复的问题
-
复习你是对的,这不是重复的问题。我的错误和道歉。
-
没问题,我会努力学习我的“问题定义”技能;)
标签: java exception exception-handling