Трубопровод между исключениями - PullRequest
1 голос
/ 01 февраля 2012

Я писал код в Eclipse, когда из-за ошибки компиляции я предложил добавить исключения. Я нажал на исключение добавления для существующего оператора catch, и он создал блок catch, который выглядел так:

try{

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

        e.printStackTrace();
}

Я никогда раньше не видел этот синтаксис, но он хорошо работал во время затмения. Когда я запустил его через свой сервер 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){

Я предполагаю, что этот синтаксис является чем-то новым для Java7, и именно поэтому это происходит. Может кто-нибудь проверить это или есть другая причина этой ошибки?

Ответы [ 2 ]

6 голосов
/ 01 февраля 2012

Это действительно функция Java 7 .

1 голос
/ 01 февраля 2012

Да, этот синтаксис является новым для Java 7. См. http://docs.oracle.com/javase/7/docs/technotes/guides/language/catch-multiple.html

...