Неверно положительный «Обнаружен недоступный код.ts (7027)»? - PullRequest
3 голосов
/ 06 апреля 2020

Следующий фрагмент кода возвращает Unreachable code detected.ts(7027) на console.log(). Работает на Visual Studio Code v1.43.2.

const foo = (() => {
  try {
    // operation like "return fs.readFileSync("./credentials.json")" is more likely to fail (nodejs)
    // following line is just placeholder
    return { val: 4 };
  } catch (err) {
    return { val: -1 };
  }
})();

console.log(foo.val); //vs throws unreachable

Пример TypeScript Playground

Это действительно ложный положительный результат?

1 Ответ

0 голосов
/ 06 апреля 2020

Если вы действительно хотите реализовать это таким образом, вам понадобится какой-то запасной вариант для val, если перехват происходит.

Реализуйте это следующим образом:

const foo = (() => {
  let val = undefined
  try {
    val = 4
  } catch (err) {
    throw new Error(err);
  }
  return { val }
})();

console.log(foo.val);

Это может быть просто проблема с TypeScript, но это решит проблему. о котором стонет ТС.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...