/ /コンパイラが複数の例外処理で文句を言います-Java、Eclipse、Exception

コンパイラは、複数の例外処理 - java、eclipse、exceptionで不平を言う

使用しようとしたとき

catch( EntityExistsException | PersistenceException eeEx)

コンパイラは文句を言います:

Object型の例外はスローできません。例外タイプはThrowableのサブクラスである必要があります

プロジェクトのJava 8に設定されたコンパイラでEclipse lunaを使用しています

回答:

回答№1は2

私はちょうどこれに出くわし、それは私を夢中にさせていました。
私は追加してマルチキャッチ例外ハンドラを作成していました URISyntaxException と既存のキャッチ。
Eclipseは不満を言いました

Object型の例外はスローできません。例外タイプは Throwableのサブクラス

最終的に、対応するimportステートメントを追加していないことに気付きました。そのため、Eclipseは新しく追加された例外のタイプを知りませんでした。
日食が不平を言っていたらそれはいいだろう

URISyntaxExceptionは型に解決できません

これは、例外が単独である場合に言うことです。
マルチキャッチの一部である場合に発生するエラーは直感的ではありません。


回答№2の場合は0

「例外の拡張」が欠落しているように聞こえます。

「複数の例外処理」とは関係ないと思いますが、JDK8は間違いなくそのようなコードをコンパイルします。

両方とも実際に例外を拡張しているのか、スロー可能なサブオブジェクトですか?


回答№3の場合は0

Eclipseでは、catch句のすべての例外をインポートすることを確認してください

catch(SomeException se | SomeException1 se1 | SomeException2 se2){
doSomething();
}

インポート文がないと、このようなエラーが表示されます。