在java 7中捕获多个异常

    xiaoxiao2024-03-06  158

    java 7使得我们能够在同一个catch语句块中捕获多种不同的异常,这也叫做多重异常捕获。

    在java7以前,我们可能要这样做:

    01 try { 02  03     // execute code that may throw 1 of the 3 exceptions below. 04  05 } catch(SQLException e) { 06     logger.log(e); 07  08 } catch(IOException e) { 09     logger.log(e); 10  11 } catch(Exception e) { 12     logger.severe(e); 13}

    正如上面看到的,SQLException 和IOException 这两个异常都是以相同的方式来处理的,但是你仍然要为这两个异常写两个独立的catch语句块。

    java 7中你可以像下面这样捕获多个异常:

    01 try { 02  03     // execute code that may throw 1 of the 3 exceptions below. 04  05 } catch(<strong>SQLException | IOException e</strong>) { 06     logger.log(e); 07  08 } catch(Exception e) { 09     logger.severe(e); 10}

    注意,第一个catch语句块中的两个异常名字是被管道字符|分割的。两个异常类名之间的管道字符就是在同一个catch语句块中声明多个异常的方法。

    转载自 并发编程网 - ifeve.com
    最新回复(0)