在单个catch代码块中捕获多个异常

来源:互联网 发布:女装批发软件 编辑:程序博客网 时间:2024/05/29 09:50

在Java7中,catch代码块得到了升级,用以在单个catch块中处理多个异常。

在Java7之前的代码:

catch (IOException ex) {     logger.error(ex);     throw new MyException(ex.getMessage());catch (SQLException ex) {     logger.error(ex);     throw new MyException(ex.getMessage());}catch (Exception ex) {     logger.error(ex);     throw new MyException(ex.getMessage());}

在Java7中,我们可以用一个catch捕获所有这些异常

catch(IOException | SQLException | Exception ex){     logger.error(ex);     throw new MyException(ex.getMessage());}

如果用一个catch块处理多个异常,可以用管道符将它们分开,在这种情况下异常参数变量ex是定义为final的,所以不能被修改。这一特性将生成更少的字节码并减少代码冗余。



原创粉丝点击