最も特定の例外のスーパークラスを探す:ジャワ - の私は例外クラス、例えばのセットを持っているとしましょうセットの中から
Exception
RuntimeException
IllegalArgumentException
IOException
FileNotFoundException
引数として例外クラスを与えられたとき、私はからクラスを見つけたいです私の与えられたクラスの中で最も特定のスーパークラスです。したがって、InvalidKeyExceptionが与えられた場合、IllegalArgumentExceptionを検索し、ExceptionまたはRuntimeExceptionは検索しません。指定されたクラスが私のセットであれば、クラス自体を返したい(IOExceptionがIOExceptionを返すなど)。 Javaでこれをどうやって行うことができますか? JVM(またはコンパイラ)は、複数のcatchステートメントがあるtryブロックがあるたびにこの問題を解決する必要がありますが、セットと引数を指定して実行する方法はわかりません。
事前に感謝します:)
EDIT:明確化。例外はスローされません。私はメソッドの引数として提供されているインスタンスを持っています(私はそれを手動でスローすることができますが、私はむしろそれが非効率的/悪いパフォーマンスではないと思います)。
は、私が聞いてもいいですか?このような音は[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) –
これまでに何を試みましたか? – YoungSpice
ちょうどそれらすべてをキャッチします。順序が間違っていれば、コンパイラはあなたに何かを伝えます。実行時にこれをサポートするコードを書く必要はありません。 – EJP