日々常々

ふつうのプログラマがあたりまえにしたいこと。

多くの人は忘れてるCoinの一つ

Java SE 7がリリースされたのは2011年7月。 さらに、パブリックアップデートが2015年4月で終了している子です。 5年も経てば一定の評価はできるでしょう。

さて、以下のコードをコンパイルしたらどうなるか。

void method() {
    try {
        throw new Exception();
    } catch(Exception e) {
        throw e;
    }
}

では次のコードは。

void method() {
    try {
        throw new RuntimeException();
    } catch(Exception e) {
        throw e;
    }
}

うん。

前者はコンパイルエラーで、後者は普通にコンパイルできます。

Project Coinの "Multi-catch and more precise rethrow" ですね。マルチキャッチの影に隠れてるから余計に目立たない。 Project Coinって言ったり、こうして書いてあることから思い当たったりする程度かと思います。 知らなかったり忘れてても問題ないものでしょう。

この機能、一度も使わなかったなぁ……。多分今後も使わない。

発端

このツイートで思い出した。で、こんなリプしたので

その「例外」の話、です。