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