【发布时间】:2020-07-18 08:51:39
【问题描述】:
跟随 sn-p 在console.log() 上返回Unreachable code detected.ts(7027)。在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
真的是误报吗?
【问题讨论】:
-
这怎么会抛出错误?
-
另外,“我想在声明时计算 foo 的值,而不是稍后”,情况总是如此。如果你有异步代码,那么值仍然会在声明时计算,它只是一个 Promise。
-
我想永远不会。但是返回值只是一个占位符。你可以用一些操作来替换它。
-
那么,该操作会引发错误吗?如果没有,那么
catch将无法访问。 -
vscode 在
console.log()上给出Unreachable code detected.ts(7027)警告,而不是catch。
标签: javascript typescript visual-studio-code