项目中出现如下报错,导致无法编译。

jdk7官网给出的解释是:
The exception types in multiple catch block must be disjoint, one exception cannot be a subclass of another exception.
这样写的话,IOException是Exception的子类,所以编译的时候就会报错。
正确的写法是:
catch(IOException | SQLException ex){
logger.error(ex);
…
} catch(Exception e){
logger.error(e);
…
}
本文解析了Java中常见的异常处理错误,特别是关于多个catch块中异常类型必须互斥的问题。通过实例说明,当IOException与Exception同时出现在catch块时,由于前者是后者的子类,会导致编译错误。并给出了正确的异常捕获顺序,确保程序的稳定运行。
1573

被折叠的 条评论
为什么被折叠?



