使用しようとしたとき
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();
}
インポート文がないと、このようなエラーが表示されます。