Java 异常之间的管道

Java 异常之间的管道,java,exception,try-catch,Java,Exception,Try Catch,我在eclipse中编写代码时,一个编译错误建议我添加异常。我单击AddException to existing catch语句,它创建了一个catch块,如下所示: try{ }catch(SQLException | InvalidKeyException | BadPaddingException | IllegalBlockSizeException | NoSuchAlgorithmException | NoSuchPaddingE

我在eclipse中编写代码时,一个编译错误建议我添加异常。我单击AddException to existing catch语句,它创建了一个catch块,如下所示:

try{

}catch(SQLException | InvalidKeyException | BadPaddingException
            | IllegalBlockSizeException | NoSuchAlgorithmException
            | NoSuchPaddingException e){

        e.printStackTrace();
}
我以前从未见过这种语法,但它在eclipse中运行良好。当我通过AIX服务器运行它时,出现以下错误:

forecast_transmission_v2.java:813: <identifier> expected
            }catch(SQLException | InvalidKeyException
                               ^
forecast_transmission_v2.java:813: '{' expected
            }catch(SQLException | InvalidKeyException
                                 ^
forecast_transmission_v2.java:814: illegal start of expression
                            | BadPaddingException | IllegalBlockSizeException
                            ^
forecast_transmission_v2.java:814: ';' expected
                            | BadPaddingException | IllegalBlockSizeException
                                                 ^
forecast_transmission_v2.java:815: not a statement
                            | NoSuchAlgorithmException | NoSuchPaddingException e){
                                                       ^
forecast_transmission_v2.java:815: ';' expected
                            | NoSuchAlgorithmException | NoSuchPaddingException e){
                                                                               ^
forecast_transmission_v2.java:815: not a statement
                            | NoSuchAlgorithmException | NoSuchPaddingException e){
                                                                                ^
forecast_transmission_v2.java:815: ';' expected
                            | NoSuchAlgorithmException | NoSuchPaddingException e){
forecast\u transmission\u v2.java:813:预期
}catch(SQLException | InvalidKeyException
^
forecast_transmission_v2.java:813:“{”应为
}catch(SQLException | InvalidKeyException
^
forecast_transmission_v2.java:814:表达式的非法开始
|BadPaddingException | IllegalBlockSizeException
^
forecast_transmission_v2.java:814:“;”应为
|BadPaddingException | IllegalBlockSizeException
^
forecast_transmission_v2.java:815:不是一个语句
|NoSuchAlgorithmException | NoSuchPaddingException e){
^
forecast_transmission_v2.java:815:“;”预期
|NoSuchAlgorithmException | NoSuchPaddingException e){
^
forecast_transmission_v2.java:815:不是一个语句
|NoSuchAlgorithmException | NoSuchPaddingException e){
^
forecast_transmission_v2.java:815:“;”预期
|NoSuchAlgorithmException | NoSuchPaddingException e){

我假设这种语法对Java7来说是新的,这就是为什么会发生这种情况。有人能验证这一点吗,或者这个错误还有其他原因吗?

这确实是一个错误。

是的,这种语法对Java7来说是新的。请参见您在第813-815行遇到了问题,正如错误中所说的那样。您可以发布这些行吗?您的AIX服务器没有运行Java版本7或更高版本!