私は主に、チェックされた例外の潜在的な問題と、なぜKotlinがそれらを省略するのかを理解しています。しかし、私が遭遇している問題は、関数が投げる可能性のある例外を呼び出し側に明確に示すための確実な方法を見つけることができないということです。Kotlin関数がスローする例外を簡単に確認する方法はありますか?
Pythonで数え切れないほどの問題が発生しました。使用しているライブラリの関数が特定の例外を発生させる可能性があるため、数か月後にプログラムがクラッシュします。例外を捕捉することを余儀なくされることは非常に問題になることがありますが、関数が投げる可能性のあるすべての例外を明確に見ることはうれしいです。
質問に戻ると、関数がKotlinでスローする例外を調べる簡単な方法はありますか? Kotlinから呼び出されているJavaで書かれたメソッドはどうでしょうか?ツーリングだけでも(intelliJ)。使用している関数の作者が省略している可能性があるので、javadocまたはkdocでそれを書いていないと思います。
私はそれが不可能だと思います。以下を考慮してください: 'val cls = Class.forName(a); valメソッド= cls.getMethod(b); method.invoke() '、ここで' a'と 'b'はファイルから読み込まれるか、ユーザ入力によって提供されます。コードを実行する前にこのコードがスローする例外を知るにはどうすればよいですか? –
私はあなたがリフレクションを使用するときにあらゆる種類のタイプ情報が失われることを意味します。 Javaでリフレクションを使用していた場合、同じ問題は当てはまりませんか?コンパイル時に型が分かっている場合に例外がスローされる可能性があることを知ることは、まだ有用であると思います。 – zjuhasz