小编Exa*_*oth的帖子

为什么你可以抛出一个非发生的异常而不是捕获它

public void throwTest() throws SQLException, IOException {
    try{  
    } catch (SQLException e) {
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么尝试捕获不会发生的异常会产生编译错误,而我可以抛出任何异常,它不会给出错误?两者都可以在编译时检查,所以如果行为相同,那对我来说会更有意义吗?

在给定的示例中,catch-block将生成编译时错误:error:exception SQLException永远不会在相应的try语句的主体中抛出} catch(SQLException e){

当我删除catch块时,代码编译得很好.这似乎与我不一致.这种行为有什么特别的原因吗?

java exception-handling exception

5
推荐指数
1
解决办法
98
查看次数

标签 统计

exception ×1

exception-handling ×1

java ×1