Javaのより前のバージョンでは、Javaのキャッチ(例外e)7

user3446781:

OracleのOCPのJava SE 8プログラマーII研究ガイドの第3章では、以下の(pgが184。)と言います:

Java 6のでは、我々は書くことはできませんcatch (Exception e)し、単に特定の例外をスローします。我々がしようとした場合、コンパイラはまだ文句を言うでしょう:

未処理の例外タイプException

これは何を意味するのでしょうか?具体的な例は何ですか?

ジョー・C:

次の例を考えてみます。

Integer add (Integer a, Integer b) {
    try {
        return a + b;
    } catch (Exception e) {
        throw e;
    }
}

もちろん、2つの数の追加は、任意のチェック例外をスローすることはできません。ただし、Java 6では、コンパイラが見てthrow e、どこeException、そしてこの方法は、いずれかを投げることができると結論Exceptionこれは、ことを宣言するためにアドオンが必要ですthrows Exception

Javaの7からは、コンパイラは、例外の種類はどのようなワークアウトで、もう少し賢いですe、それが再スローされたときにすることができます。この場合には、そのワークアウトすることが可能であるeだけであってもよいRuntimeException(オフである)、及び追加のことこうして宣言throws Exceptionもはや必要です。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=200937&siteId=1