この記事で書いていたバグは、1.46.0で解消しました。
VSCode(1.43.0と1.43.1で確認)では、以下のコードでconsole.logの部分が「到達できないコード」として判定されてしまいます。
const message = (() => {
try {
/* エラーが発生しそうな処理 */
return "success";
} catch (e) {
return "error:" + e;
}
})();
console.log("message = " + message);
しかし、Node.js(12.16.1)で上記のコードを実行すると、console.logはちゃんと実行されます。
message = success
即時関数の中でtry-catchは使うべきではないのでしょうか。
そもそもこういった処理を即時関数化すべきではないのかも知れません。
ただ、VSCode 1.42.1 以前はちゃんとconsole.logが到達可能と判定されていましたし、よく分かりません・・・。
VSCodeのissueに報告したいんですが英語苦手なんですよね。
直るまでは1.42.1を使うことにします。
追伸
冒頭にも書きましたが、1.46.0(May 2020)でバグが解消していることを確認しました。